aiotinydb / aiotinydb Goto Github PK
View Code? Open in Web Editor NEWasyncio compatibility shim for tinydb
License: Other
asyncio compatibility shim for tinydb
License: Other
async with AIOTinyDB(DATABASE) as db:
db.truncate()
self.logger.info(f"Truncated: {db}")
return True
response:
AttributeError: 'Table' object has no attribute 'truncate'
there does not seem to be any table object to truncate
With the increasing number of entries it gets more and more expensive to perform searches. We should move the computations to a separate thread (or even a process) to get out of main loop's way.
AIOTinyDB raises an UnsupportedOperation: fileno error when writing
tinydb.JSONStorage.write()
calls os.fsync(self._handle.fileno())
. aiotinydb.AIOJSONStorage
implements self._handle
as an io.StringIO
object.
io.StringIO
has no meaningful implementation of fileno(), and raises an UnsupportedOperation error.
Run tox in aiotinydb.
StringIO error:
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import io
>>> io.StringIO().fileno()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
io.UnsupportedOperation: fileno
>>>
3.8.1.post1
AIOJSONStorage.write()
io.StringIO()
that does have a meaningful implementation of fileno()
Hi, according to the commit history and some comments (#6 (comment), #10 (comment)), this project is unmaintained.
Since TinyDB offers what I'm looking for, but I need an async interface, I'd like to revive this project.
There are currently some major problems:
I applied some changes in aiotinydb-revived:
What I plan to do:
As far as I can tell from the issues section, you don't use this library anymore and aren't interested to work on it โ correct me if I'm wrong.
If you are interested, I'm willing to maintain this project in the future.
This would require:
If you prefer, I can also create a PR or continue as a standalone project (this would also require addressing the licensing ambiguity).
Latest version in the master is 2.0.0, but on PyPI is still 1.2.2, is there a new release planned?
I can't use LGPL on python libraries - not due to my own sensibility fyi - it makes life complicated downstream since it makes the code incompatible with 90% of python projects from a license perspective.
These days I am more hesitant to stray away from the standard library at all. There's 3 reasons I can think of why I felt a bit curious:
tinydb itself uses MIT: https://github.com/msiemens/tinydb/blob/master/LICENSE
A lot of the https://github.com/aio-libs/ use permissive licenses
Compare on PyPI the usage across libraries to see what other open source projects use:
It's hard to do an "or" search, but there's about 5 different LGPL licenses on file
Is there any reason why this license used LGPL rather than the more compatible ones? was there a conversation before somewhere?
What do you think about the license?
In a situation where there are 2 or more main loops one should be able to specify, which to use.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.