Skip to main content

Static code checks used at Alphamoon

Project description


image image

Set of simple static code checks at Alphamoon.

This pytest plugin was generated with Cookiecutter along with @hackebrot's cookiecutter-pytest-plugin template. Source code is based on pytest-isort plugin.


Package contains several plugins, as shown in Table below:

Plugin Description
import-check Checks no imports from scripts/notebooks/user_settings
init-check Checks no file in scripts/notebooks
notebook-check Checks notebooks (.ipnyb files) are clean, without outputs
newline-check Checks files (requirements*, .gitignore or custom) for newline at the end of file
testdir-check Checks test files (files matching patterns: test_*.py or * are under /tests directory
annotation-check Checks integration tests function/class definition (all class and functions defined under integration_tests prefixed with test*) has decorator @integration_test
adr-check Checks Architecture Decision Record files has consistent (unique) numbering (by default plugin searches for .adr-dir for declaration of ADR files directory)
requirements-coherence-check Checks requirements defined in against those in requirements[-dev].txt (library names presence and versions if specified).
requirements-versions-check Checks whether requirements versions are fixed
sorted-requirements-check Checks if requirements* files are sorted
commit-message-check Checks whether git commit messages follow the naming convention




You can install "pytest-alphamoon" via pip from PyPI:

$ pip install pytest-alphamoon


You can add arbitrary plugin from this package by specifying its name in pytest.ini addopts section with plugin names as shown in Table above along with any other plugin you are currently using.

addopts = --init-check --import-check --notebook-check  --newline-check --testdir-check
          --annotation-check --adr-check --requirements-coherence-check --requirements-versions-check
          --sorted-requirements-check --commit-message-check
import_forbidden_from =

notebook_allowed_in =

init_forbidden_in =

adr_rel_path = .adr-dir


check_commit_messages_from = 0f95a3b033d27e1845b85ff59739889043fd598d

pytest_nesting_level = 1

Parameters, like import_forbidden_from, shown in example configuration above are optional. If custom values are not provided in pytest.ini file, default parameters are used.

After setting up configuration file specified checks are loaded and executed automatically within test session, after invoking command:

$ pytest


Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.


Distributed under the terms of the MIT license, "pytest-alphamoon" is free and open source software


If you encounter any problems, please email us at, along with a detailed description.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pytest_alphamoon-2021.12.30.1308-py3-none-any.whl (22.0 kB view hashes)

Uploaded Python 3

Supported by

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