Skip to content

Isshub-io/isshub_sync

Repository files navigation

Isshub Sync

Travis Coveralls Code Climate

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!

Specificities

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)

Development

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.

Documentation

There is actually no documentation per-se, but code is documented following Numpy-doc

The code documentation is checked by pylint

Tests

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

Tools

Many tools are configured to be used to check code quality:

mypy

http://www.mypy-lang.org/

Will check static typing defined using python typing annotations.

The configuration is defined in setup.cfg under the [mypy] and [mypy-*] sections.

Usage:

mypy .

prospector

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)

License

This software is, for now, published under the MIT license. It may change in the future, for example toward License Zero

Releases

No releases published

Packages

No packages published

Languages