Installation is easy using the
pip package manager.
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
marrow.packageplugin and canonical object loader.
marrow.schemadeclarative syntax toolkit.
If you add
marrow.mongo to the
install_requires argument of the call to
setup() in your application's
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.
pip install 'marrow.mongo[scripting,logger]'
Install additional utilities relating to testing and contribution, including
pytestand various plugins, static analysis tools, debugger, and enhanced REPL shell.
Logging requires knowledge of the local host's timezone, so this pulls in the
tzlocalpackage to retrieve this information.
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.