Mongo Thingy Versions Save

:leaves: Powerful schema-less ODM for MongoDB and Python (sync + async)

0.17.2

1 month ago

Security update.

0.17.1

7 months ago

Here is a small release to update dependencies and fix ThingyList.distinct() so that it behaves just like MongoDB on array fields.

Full Changelog: https://github.com/Refty/mongo-thingy/compare/0.17.0...0.17.1

0.17.0

1 year ago

Maintenance update. Not much has changed apart from find_one_and_update signature.

Full Changelog: https://github.com/Refty/mongo-thingy/compare/0.16.0...0.17.0

0.16.0

1 year ago

Happy to release Mongo-Thingy 0.16.0, that has quite a few interesting features!

  • Mongomock-Motor has been added to the list of supported backends.
  • You can now play with camel case data without giving up on snake case in your Python code. 🤯 The new CamelCase mixin translates attributes accesses from snake case to camel case. For example, thingy.foo_bar will access the fooBar field of the document. Just add the mixin to your class signature and you're good to go!
  • Views could already be applied on cursors, but not at a later stage (i.e. when the cursor is exhausted). You can now apply views on result lists as well:
    >>> users = User.find().to_list(None)  # Note the `to_list(None)` here! Users are now fetched and in memory.
    >>> for credentials in users.view("credentials"):
    ...     print(credentials)
    {'username': 'MrFoo', 'password': 't0ps3cr3t'}
    {'username': 'MrsBar', 'password': '123456789'}
    
    This works because we now wrap results in a list subclass named ThingyList, meaning that you can extend that class to implement your own operations on result lists!
  • Mongo-Thingy now exposes most of the PyMongo collection write methods directly at the Thingy level, such as Thingy.update_one. You don't need to play with Thingy.collection anymore when you want to run optimized queries.

Thanks to our new contributor @Flowtter for his work on that release!

Full Changelog: https://github.com/Refty/mongo-thingy/compare/0.15.1...0.16.0

0.15.0

1 year ago

Just a tiny release to add support for connect(..., database_name="database").

This is particularly useful when you connect with an URI that you can't change (e.g. given by a cloud provider) and that doesn't specify a default database, or when you have one specified but still want to use another one.

Full Changelog: https://github.com/Refty/mongo-thingy/compare/0.14.0...0.15.0

0.14.0

1 year ago

Biggest release in a long time!

  • Mongo-Thingy is now both sync and async! 🔥 (#39)
  • It also supports other backends than PyMongo / Motor, namely MongoMock and MontyDB (#36).
  • A new Cursor.delete() method has been implemented as well. (#40, see #25 for rationale)

Full Changelog: https://github.com/Refty/mongo-thingy/compare/0.13.1...0.14.0

0.13.1

1 year ago

Let's give Mongo-Thingy a fresh boost! :rocket:

  • Adds PyMongo 4 support
  • Drops support for Python 2.7 and 3.5
  • Speeds up the tests

Full Changelog: https://github.com/Refty/mongo-thingy/compare/0.13.0...0.13.1

0.12.0

1 year ago

0.11.0

1 year ago

0.10.4

6 years ago