Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/WithSecureOpenSource/resource-api
A framework that allows developers declaratively define resources and relationships between them
https://github.com/WithSecureOpenSource/resource-api
Last synced: 26 days ago
JSON representation
A framework that allows developers declaratively define resources and relationships between them
- Host: GitHub
- URL: https://github.com/WithSecureOpenSource/resource-api
- Owner: WithSecureOpenSource
- License: apache-2.0
- Created: 2014-11-12T12:18:42.000Z (about 10 years ago)
- Default Branch: dev
- Last Pushed: 2015-07-20T12:41:58.000Z (over 9 years ago)
- Last Synced: 2024-11-09T04:03:08.974Z (about 1 month ago)
- Language: Python
- Homepage: http://resource-api.readthedocs.org/en/latest/
- Size: 511 KB
- Stars: 10
- Watchers: 12
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES
- License: LICENSE
Awesome Lists containing this project
- awesome-python-models - resource-api - A framework that allows developers decoratively define resources and relationships between them. (Model, Schema)
README
# 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 resourcesCheck 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 ]
* CHANGE_TYPE=MAJOR|MINOR|PATCH: change description
```Example
```
12.11.3 2014-01-12[John Smith ]
* 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.