include supported mongodb ver info in the readme [ci skip]

This commit is contained in:
Stefan Wojcik 2017-02-26 13:35:03 -05:00
parent e20a34857d
commit d5b1914158
3 changed files with 46 additions and 28 deletions

View File

@ -7,6 +7,8 @@
# * MongoDB v3.0 is tested against PyMongo v3.x. # * MongoDB v3.0 is tested against PyMongo v3.x.
# * MongoDB v2.6 is currently the "main" version tested against Python v2.7, # * MongoDB v2.6 is currently the "main" version tested against Python v2.7,
# v3.5, PyPy & PyPy3, and PyMongo v2.7, v2.8 & v3.x. # v3.5, PyPy & PyPy3, and PyMongo v2.7, v2.8 & v3.x.
#
# Reminder: Update README.rst if you change MongoDB versions we test.
language: python language: python

View File

@ -29,19 +29,20 @@ Style Guide
----------- -----------
MongoEngine aims to follow `PEP8 <http://www.python.org/dev/peps/pep-0008/>`_ MongoEngine aims to follow `PEP8 <http://www.python.org/dev/peps/pep-0008/>`_
including 4 space indents. When possible we try to stick to 79 character line limits. including 4 space indents. When possible we try to stick to 79 character line
However, screens got bigger and an ORM has a strong focus on readability and limits. However, screens got bigger and an ORM has a strong focus on
if it can help, we accept 119 as maximum line length, in a similar way as readability and if it can help, we accept 119 as maximum line length, in a
`django does <https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/#python-style>`_ similar way as `django does
<https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/#python-style>`_
Testing Testing
------- -------
All tests are run on `Travis <http://travis-ci.org/MongoEngine/mongoengine>`_ All tests are run on `Travis <http://travis-ci.org/MongoEngine/mongoengine>`_
and any pull requests are automatically tested by Travis. Any pull requests and any pull requests are automatically tested. Any pull requests without
without tests will take longer to be integrated and might be refused. tests will take longer to be integrated and might be refused.
You may also submit a simple failing test as a PullRequest if you don't know You may also submit a simple failing test as a pull request if you don't know
how to fix it, it will be easier for other people to work on it and it may get how to fix it, it will be easier for other people to work on it and it may get
fixed faster. fixed faster.
@ -49,13 +50,18 @@ General Guidelines
------------------ ------------------
- Avoid backward breaking changes if at all possible. - Avoid backward breaking changes if at all possible.
- If you *have* to introduce a breaking change, make it very clear in your
pull request's description. Also, describe how users of this package
should adapt to the breaking change in docs/upgrade.rst.
- Write inline documentation for new classes and methods. - Write inline documentation for new classes and methods.
- Write tests and make sure they pass (make sure you have a mongod - Write tests and make sure they pass (make sure you have a mongod
running on the default port, then execute ``python setup.py nosetests`` running on the default port, then execute ``python setup.py nosetests``
from the cmd line to run the test suite). from the cmd line to run the test suite).
- Ensure tests pass on every Python and PyMongo versions. - Ensure tests pass on all supported Python, PyMongo, and MongoDB versions.
You can test on these versions locally by executing ``tox`` You can test various Python and PyMongo versions locally by executing
- Add enhancements or problematic bug fixes to docs/changelog.rst ``tox``. For different MongoDB versions, you can rely on our automated
Travis tests.
- Add enhancements or problematic bug fixes to docs/changelog.rst.
- Add yourself to AUTHORS :) - Add yourself to AUTHORS :)
Documentation Documentation
@ -69,3 +75,6 @@ just make your changes to the inline documentation of the appropriate
branch and submit a `pull request <https://help.github.com/articles/using-pull-requests>`_. branch and submit a `pull request <https://help.github.com/articles/using-pull-requests>`_.
You might also use the github `Edit <https://github.com/blog/844-forking-with-the-edit-button>`_ You might also use the github `Edit <https://github.com/blog/844-forking-with-the-edit-button>`_
button. button.
If you want to test your documentation changes locally, you need to install
the ``sphinx`` package.

View File

@ -19,23 +19,24 @@ MongoEngine
About About
===== =====
MongoEngine is a Python Object-Document Mapper for working with MongoDB. MongoEngine is a Python Object-Document Mapper for working with MongoDB.
Documentation available at https://mongoengine-odm.readthedocs.io - there is currently Documentation is available at https://mongoengine-odm.readthedocs.io - there
a `tutorial <https://mongoengine-odm.readthedocs.io/tutorial.html>`_, a `user guide is currently a `tutorial <https://mongoengine-odm.readthedocs.io/tutorial.html>`_,
<https://mongoengine-odm.readthedocs.io/guide/index.html>`_ and an `API reference a `user guide <https://mongoengine-odm.readthedocs.io/guide/index.html>`_, and
<https://mongoengine-odm.readthedocs.io/apireference.html>`_. an `API reference <https://mongoengine-odm.readthedocs.io/apireference.html>`_.
Installation Installation
============ ============
We recommend the use of `virtualenv <https://virtualenv.pypa.io/>`_ and of We recommend the use of `virtualenv <https://virtualenv.pypa.io/>`_ and of
`pip <https://pip.pypa.io/>`_. You can then use ``pip install -U mongoengine``. `pip <https://pip.pypa.io/>`_. You can then use ``pip install -U mongoengine``.
You may also have `setuptools <http://peak.telecommunity.com/DevCenter/setuptools>`_ and thus You may also have `setuptools <http://peak.telecommunity.com/DevCenter/setuptools>`_
you can use ``easy_install -U mongoengine``. Otherwise, you can download the and thus you can use ``easy_install -U mongoengine``. Otherwise, you can download the
source from `GitHub <http://github.com/MongoEngine/mongoengine>`_ and run ``python source from `GitHub <http://github.com/MongoEngine/mongoengine>`_ and run ``python
setup.py install``. setup.py install``.
Dependencies Dependencies
============ ============
All of the dependencies can easily be installed via `pip <https://pip.pypa.io/>`_. At the very least, you'll need these two packages to use MongoEngine: All of the dependencies can easily be installed via `pip <https://pip.pypa.io/>`_.
At the very least, you'll need these two packages to use MongoEngine:
- pymongo>=2.7.1 - pymongo>=2.7.1
- six>=1.10.0 - six>=1.10.0
@ -48,10 +49,6 @@ If you need to use an ``ImageField`` or ``ImageGridFsProxy``:
- Pillow>=2.0.0 - Pillow>=2.0.0
If you want to generate the documentation (e.g. to contribute to it):
- sphinx
Examples Examples
======== ========
Some simple examples of what MongoEngine code looks like: Some simple examples of what MongoEngine code looks like:
@ -112,9 +109,9 @@ Tests
To run the test suite, ensure you are running a local instance of MongoDB on To run the test suite, ensure you are running a local instance of MongoDB on
the standard port and have ``nose`` installed. Then, run: ``python setup.py nosetests``. the standard port and have ``nose`` installed. Then, run: ``python setup.py nosetests``.
To run the test suite on every supported Python version and every supported PyMongo version, To run the test suite on every supported Python and PyMongo version, you can
you can use ``tox``. use ``tox``. You'll need to make sure you have each supported Python version
tox and each supported Python version should be installed in your environment: installed in your environment and then:
.. code-block:: shell .. code-block:: shell
@ -123,13 +120,16 @@ tox and each supported Python version should be installed in your environment:
# Run the test suites # Run the test suites
$ tox $ tox
If you wish to run one single or selected tests, use the nosetest convention. It will find the folder, If you wish to run a subset of tests, use the nosetest convention:
eventually the file, go to the TestClass specified after the colon and eventually right to the single test.
Also use the -s argument if you want to print out whatever or access pdb while testing.
.. code-block:: shell .. code-block:: shell
$ python setup.py nosetests --tests tests/fields/fields.py:FieldTest.test_cls_field -s # Run all the tests in a particular test file
$ python setup.py nosetests --tests tests/fields/fields.py
# Run only particular test class in that file
$ python setup.py nosetests --tests tests/fields/fields.py:FieldTest
# Use the -s option if you want to print some debug statements or use pdb
$ python setup.py nosetests --tests tests/fields/fields.py:FieldTest -s
Community Community
========= =========
@ -141,3 +141,10 @@ Community
Contributing Contributing
============ ============
We welcome contributions! See the `Contribution guidelines <https://github.com/MongoEngine/mongoengine/blob/master/CONTRIBUTING.rst>`_ We welcome contributions! See the `Contribution guidelines <https://github.com/MongoEngine/mongoengine/blob/master/CONTRIBUTING.rst>`_
Supported MongoDB Versions
==========================
MongoEngine is currently tested against MongoDB v2.4, v2.6, and v3.0. Future
versions should be supported as well, but aren't actively tested at the moment.
Make sure to open an issue or submit a pull request if you experience any
problems with MongoDB v3.2+.