Skip to main content

Generate Pythonic schematics representation for ProtoBuf definition files.

Project description

===================
ProtoBuf Schematics
===================


.. image:: https://img.shields.io/pypi/v/protobuf_schematics.svg
:target: https://pypi.python.org/pypi/protobuf_schematics

.. image:: https://img.shields.io/travis/AlmogCohen/protobuf_schematics.svg
:target: https://travis-ci.org/AlmogCohen/protobuf-schematics

.. image:: https://readthedocs.org/projects/protobuf-schematics/badge/?version=latest
:target: https://protobuf-schematics.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status




Generate Pythonic Schematics_ representation of ProtoBuf .proto files.

The motive behind it is to create a comfortable mapping in Python to work with ProtoBuf messages represented in JSON or any other serializable form.

Most of the existing interfaces I've found optimize for performance and (apparently) a hellish pythonic interface. This package come to solve that by translating to ProtoBuf **.proto** files to nice and clean Schematics_ models. The hellish ProtoBuf API is converted in the awesome and fluent Schematics_ flow.

**Notice**: Performance was not considered while developing this package.


* Free software: Apache Software License 2.0
* Documentation: https://protobuf-schematics.readthedocs.io.


.. _Schematics: https://github.com/schematics/schematics

Features
--------

* TODO


Development
-----------

First, install the Pipfile and create the proper virtual environment::

pipenv install --dev

To check linting with **flake8**, run::

make lint

To run the unittests against your working python version::

py.test

To see coverage report::

make coverage

To run tests against all supported python versions::

tox

To make the docs (which will be automatically published to readthedocs on commits to the master branch)::

make docs

Credits
-------

The parsing work of **.proto** files is provided thanks to the awesome guys at PyroBuf_.

This package was created with Cookiecutter_ and the `elgertam/cookiecutter-pipenv`_ project template, based on `audreyr/cookiecutter-pypackage`_.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`elgertam/cookiecutter-pipenv`: https://github.com/elgertam/cookiecutter-pipenv
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
.. _PyroBuf: https://github.com/appnexus/pyrobuf


=======
History
=======

In Progress
___________
* Add more meaningful unittests.
* Add more explanations for how load ProtoBuf encoded messages with the generated classes.
* Update the setup.py to PyroBuf 0.8.5 on PyPi when they will release latest version to PyPi.

0.1.0 (2019-01-13)
------------------

* First release on PyPI.
* CLI interface for compiling a given proto file to schematics definition file.


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

protobuf_schematics-0.1.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

protobuf_schematics-0.1.0-py2.py3-none-any.whl (5.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file protobuf_schematics-0.1.0.tar.gz.

File metadata

  • Download URL: protobuf_schematics-0.1.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.3

File hashes

Hashes for protobuf_schematics-0.1.0.tar.gz
Algorithm Hash digest
SHA256 deb13a909689ef2d7b70317c1c74867e055e12c51e683e2cd8ef4b0a92d7c9fe
MD5 c2dc22a9e20884067d907a06b1754ddf
BLAKE2b-256 2b5b357709e2ac99c5542fb18d7b2f5089630e29a8ff593d257067850d40b76d

See more details on using hashes here.

File details

Details for the file protobuf_schematics-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: protobuf_schematics-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.3

File hashes

Hashes for protobuf_schematics-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a09ee14c43e211f08ddef0fd7fdda9f23d93cec9eebe47f8d439668a428688a9
MD5 07bc04f86380d5c0182333d44c1b18e2
BLAKE2b-256 42bd445f1b1c1ed0466dc78670344793dd29c38fb10968aaa7b40cdc85f50be3

See more details on using hashes here.

Supported by

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