Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/progrium/ginkgo
Python service microframework
https://github.com/progrium/ginkgo
Last synced: about 2 months ago
JSON representation
Python service microframework
- Host: GitHub
- URL: https://github.com/progrium/ginkgo
- Owner: progrium
- License: mit
- Created: 2011-05-08T10:20:30.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2012-12-18T04:20:02.000Z (almost 12 years ago)
- Last Synced: 2024-07-27T01:42:24.836Z (2 months ago)
- Language: Python
- Homepage: http://ginkgo.readthedocs.org
- Size: 686 KB
- Stars: 325
- Watchers: 16
- Forks: 51
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ginkgo v0.5.0dev
Lightweight service framework on top of gevent, implementing the "service model" -- services all the way down.
Please note that this version is major rewrite since 0.3.1, hence
skipping 0.4.0. Take a look at UPGRADING and some of the documentation
might be out of date during transition.## Features
* Service model -- Break your app down into services and sub-services.
Modules, if you will, that can start, stop, and reload. Every service
manages its own pool of greenlets.
* Configuration -- Built-in, reloadable configuration based on Python
files. Access configuration settings relative to services.
* Runner -- Command-line tool to manage your service that can daemonize,
chroot, drop privs, and set up or override configuration.## Demo
A talk was given at PyCon 2012 called "Throwing Together Distributed
Services with gevent" that used Ginkgo to build a number of simple
services combined to make a more complex distributed service.* [PyCon 2012 Video](http://pyvideo.org/video/642/throwing-together-distributed-services-with-geven)
* [PyCon 2012 Slides](http://dl.dropbox.com/u/2096290/GinkgoPyCon.pdf)
* [Source code used in talk](https://github.com/progrium/ginkgotutorial)## Mailing List
Pretty active discussion on this early microframework. Join it or just
read what's being planned:* [Ginkgo-dev Google Group](http://groups.google.com/group/ginkgo-dev)
## Contributing
Feel free to poke around the issues in the main repository and see if you can tackle any. From there you should:
* Fork if you haven't
* Create a branch for the feature / issue
* Write code+tests
* Pass tests (using nose)
* Squash branch commits using [merge and reset](http://j.mp/vHLUoa)
* Send pull requestWe highly recommend using branches for all features / issues and then squashing it into a single commit in your master before issuing a pull request. It's actually quite easy using [merge and reset](http://j.mp/vHLUoa). This helps keep features and issues consolidated, but also makes pull requests easier to read, which increases the speed and likelihood of being accepted.
We're aiming for at least 90% test coverage. If you have the `coverage` Python package installed, you can run `python setup.py coverage` to get a coverage report of modules within gservice.
## Contributors
* [Jeff Lindsay]([email protected])
* [Sean McQuillan]([email protected])
* [Alan Shreve]([email protected])
* [Chad Selph]([email protected])
* [Ryan Larrabure]([email protected])
* [Marc Abramowitz]([email protected])
* [David Wilemski]([email protected])## License
MIT