isshub_sync
is a python module to be used in the next version of the core of https://www.isshub.io
It's goal is to synchronize part of the content of repositories of code repositories, like github, gitlab, bitbucket..., being the sass version of hosted versions if they exists.
The exact perimeter of this module is to be defined. It may be only the core tools of the synchronization, with other modules, "adapters", for the different platforms, being hosted separately. Or not.
IMPORTANT: this is an early work in progress!
The python version used is python 3.6+, with typing annotations, and using async features as much as possible (for
example we use aiohttp
for http connections)
To work on this project, you need to install the package with its dev dependencies.
You can do it with
pip install -e .[dev]
Or if you are fan of requirements file, you can do
pip install -r requirements.txt
Note that it will do the exact same thing.
There is actually no documentation per-se, but code is documented following Numpy-doc
The code documentation is checked by pylint
The module contains to kinds of tests:
- classic pytest tests, in
tests
- doctests in some classes/functions
We also use coverage
with the pytest-cov
plugin.
To run the tests, simply call:
pytest
Many tools are configured to be used to check code quality:
Will check static typing defined using python typing annotations.
The configuration is defined in setup.cfg
under the [mypy]
and [mypy-*]
sections.
Usage:
mypy .
https://prospector.landscape.io
Will run a number of code quality tools:
The configuration is defined in .prospector.yaml
.
prospector
Note: we actually use a fork, prospector-fixes-232
to handle a bug.
See prospector-dev/prospector#232 (and the tied PR)
This software is, for now, published under the MIT license. It may change in the future, for example toward License Zero