Clean and modern framework for creating RESTful APIs.
Armet is a framework to facilitate the quick creation of fast, powerful, and conformant RESTful application programming interfaces. Developing a RESTful API should not be something that is time consuming or difficult; it should at least not be something that takes more time to develop then its underlying functionality. Armet enables you, the developer, to focus on developing the application behind the interface.
Armet exists as an abstraction layer above your web server framework and therefore can run in most frameworks and envrionments using connectors.
There are two kinds of connectors: http
and model
. The http
connector
is in charge of facilitating the request / response cycle. The model
connector is in charge of facilitating the database access layer for RESTful
resources that are bound to a declarative model. For the most part these
connectors can be mixed and changed at a per-resource level (eg. one resource
may use django
for its http connector and sqlalchemy
for its model
and another may still use django
for its http connector but reuse it for
its model one as well).
Django >= 1.4
The Web framework for perfectionists (with deadlines). Django makes it easier to build better Web apps more quickly and with less code.
Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions.
Bottle is a fast, simple and lightweight WSGI micro web-framework for Python.
Django >= 1.4
The Web framework for perfectionists (with deadlines). Django makes it easier to build better Web apps more quickly and with less code.
SQLAlchemy >= 0.7
SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.
-
Armet is not yet listed on PyPI but can be installed by directly referencing its git url with
pip
oreasy_install
.pip install git+git://github.com/armet/python-armet.git
Examples are not included when installing using
pip
oreasy_install
.
-
Clone the Armet repository to your local computer.
git clone git://github.com/armet/python-armet.git
To grab a specific version you can use the
-b
argument to specify a branch, which can include a specific tag as well (eg.versions/0.4.x
or0.4.1
).git clone -b 0.3.1 git://github.com/armet/python-armet.git
To speed up the clone if you're just cloning the project for use and don't intend to contribute back upstream, you can add the
--depth
option to do a shallow clone, in which it will only fetch the exact version instead of the entire history.git clone -b 0.3.1 --depth 1 git://github.com/armet/python-armet.git
-
Change into the armet root directory.
cd /path/to/python-armet
-
Install the project and all its dependencies using
pip
.pip install .
Additional extra requirements may be specified in brackets following the
.
.# Install armet as well as the additional dependencies to use # the unit test suite. pip install ".[test]"
- Follow steps 1 and 2 of the manual installation instructions.
-
Initialize a virtual environment to develop in. This is done so as to ensure every contributor is working with close-to-identicial versions of packages.
mkvirtualenv armet
The
mkvirtualenv
command is available fromvirtualenvwrapper
which can be installed as follows:sudo pip install virtualenvwrapper
-
Install armet in development mode with testing enabled. This will download all dependencies required for running the unit tests.
pip install -e ".[test]"
-
Run the unit tests.
py.test
Armet is maintained with all tests passing at all times. If you find a failure, please report it along with the version.
Unless otherwise noted, all files contained within this project are liensed under the MIT opensource license. See the included file LICENSE or visit opensource.org for more information.