-
JONGLEZ Baptiste authoredJONGLEZ Baptiste authored
README.org 23.83 KiB
python-grid5000
python-grid5000
is a python package wrapping the Grid’5000 REST API. You can
use it as a library in your python project or you can explore the Grid’5000
resources interactively using the embedded shell.
API compatibility
Client version | API version |
---|---|
1.x | 3.x (stable) |
Thanks
The core code is borrowed from python-gitlab with small adaptations to conform with the Grid5000 API models (with an ‘s’!)
Contributing
- To contribute, you can drop me an email or open an issue for a bug report, or feature request.
- There are many areas where this can be improved some of them are listed here:
- The complete coverage of the API isn’t finished (yet) but this should be fairly easy to reach. Most of the logic go in ~grid5000.objects~. And to be honnest I only implemented the feature that I needed the most.
- Returned status code aren’t yet well treated.
Comparison with …
- RESTfully: It consumes REST API following the HATEOAS principles. This allows the client to fully discover the resources and actions available. Most of the G5K API follow theses principles but, for instance the Storage API don’t. Thus RESTfully isn’t compatible with all the features offered by the Grid’5000 API. It’s a ruby library. Python-grid5000 borrows the friendly syntax for resource browsing, but in python.
- Execo: Written in Python. The api module gathers a lot of utils functions leveraging the Grid’5000 API. Resources aren’t exposed in a syntax friendly manner, instead functions for some classical operations are exposed (mainly getters). It has a convenient way of caching the reference API. Python-grid5000 is a wrapper around the Grid’5000 that seeks 100% coverage. Python-grid5000 is resource oriented.
- Raw requests: The reference for HTTP library in python. Good for prototyping but low-level. python-grid5000 encapsulates this library.