Installation is easy using the pip package manager.
Python 2.7 or 3.2 and above, or compatible runtime such as Pypy or Pypy3.
An accessible MongoDB installation; some features may require MongoDB version 3.2, decimal support requires version 3.4.
pip install marrow.mongo
We strongly recommend always using a container, virtualization, or sandboxing environment of some kind when developing using Python; installing things system-wide is yucky (for a variety of reasons) nine times out of ten.
Python dependencies will be automatically installed when marrow.mongo is installed:
A modern (3.2 or newer) version of the pymongo package.
The marrow.package plugin and canonical object loader.
The marrow.schema declarative syntax toolkit.
If you add marrow.mongo to the install_requires argument of the call to setup() in your application's setup.py file, marrow.mongo will be automatically installed and made available when your own application or library is installed. We recommend using less than version numbers to ensure there are no unintentional side-effects when updating. Use marrow.mongo<1.2 to get all bugfixes for the current release, and marrow.mongo<2.0 to get bugfixes and feature updates while ensuring that backwards-incompatible changes are not installed without warning.
There are a few conditional, tag-based dependencies. To utilize these optional tags add them, comma separated, beween square braces. This may require shell escaping or quoting.
Install additional utilities relating to testing and contribution, including pytest and various plugins, static analysis tools, debugger, and enhanced REPL shell.
Logging requires knowledge of the local host's timezone, so this pulls in the tzlocal package to retrieve this information.
Development takes place on GitHub in the marrow.mongo project. Issue tracking, documentation, and downloads are provided there.
Installing the current development version requires Git, a distributed source code management system. If you have Git you can run the following to download and link the development version into your Python runtime.
git clone https://github.com/marrow/mongo.git
(cd mongo; python setup.py develop)
If you would like to make changes and contribute them back to the project, fork the GitHub project, make your changes, and submit a pull request. For more information see the Contributing section, and GitHub's documentation.