Skip to main content

A framework that allows developers declaratively define resources and relationships between them

Project description

# Resource API

A framework to:
- declaratively define resources and their relationships
- handle resource serialization/deserialization to arbitrary data storage (e.g.: MySQL, NoSQL, plain files)
- expose HTTP interface
- handle authorization for individual resources

Check documentation for more detailed information.

## Code style

Run [pep8](https://pypi.python.org/pypi/pep8) and [pyflakes](https://pypi.python.org/pypi/pyflakes) in **src** directory

## Version policy

[Semantic version](http://semver.org/)

## Changelog format

```
VERSION RELEASE-TIMESTAMP=YYYY-MM-DD

[Author Name <author@email>]
* CHANGE_TYPE=MAJOR|MINOR|PATCH: change description
```

Example

```
12.11.3 2014-01-12

[John Smith <john.smith@example.com>]
* PATCH: refactored the modules
* MINOR: added a new class
* MAJOR: removed deprecated function
```

Notes:

- It is a good idea to annotate each commit with "1:", "2:" and "3:" message for PATCH|MINOR|MAJOR respectively so that
it is easier to control the version based on the output of `git log` command
- There is no need to modify changelog when documentation or travis related files are updated. Only changes of the
source code are important.

## Release steps

1. Switch to **dev**
2. Make sure that pep8 & pyflakes checks and tests pass
3. Increment the version in **CHANGES** file according to the types of changes made since the latest release. Add
timestamp to indicate when the version was released.
4. Commit the changes
5. Switch to **master**
6. Merge **dev** into **master**
7. Execute `git tag VERSION -m VERSION`
8. Push **dev** & **master** branches to upstream
9. Push tags to upstream

## Pull requests

Always create your own feature branches from the **dev** branch. Not from **master** one.

1. Make sure that all commits have descriptive messages and are up to the point
2. pep8 and pyflakes checks are supposed to pass
3. All tests are supposed to pass
4. If it is a new feature - make sure that new tests are created and they pass
5. Add a new set of bullet points to the latest changelog entry according to the specified format
6. Create a pull request against the **dev** branch

## Links

- Travis CI: https://travis-ci.org/F-Secure/resource-api
- Read the docs: http://resource-api.readthedocs.org/en/latest/

## Note

The core part of the project development work was done within the Digile’s Data to Intelligence
program http://www.datatointelligence.fi/ and supported by Tekes, the Finnish Funding Agency for Innovation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

resource-api-3.1.1.tar.gz (20.8 kB view details)

Uploaded Source

File details

Details for the file resource-api-3.1.1.tar.gz.

File metadata

File hashes

Hashes for resource-api-3.1.1.tar.gz
Algorithm Hash digest
SHA256 aa963dcb89077abcf23bbacf7af32cca83e896db44923b793e4ff8773f1110a8
MD5 3a1d6e5530f1d5f4723eac48a6181d78
BLAKE2b-256 df32dd6366a76ff7734d5aa53e22a1d4697fe5894dee8922cc6443e6569493ee

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page