Skip to content

Latest commit

 

History

History
100 lines (89 loc) · 6.62 KB

FILEMAP.md

File metadata and controls

100 lines (89 loc) · 6.62 KB

Repository structure

Guidelines

Software package/library

  • <pyproject_qiskit> -- it will have a different name for each repository using the pyproject-qiskit template, and it holds the source code for the software. This name will determine how the software is imported after installation (e.g. from <pyproject_qiskit> import __version__).
  • CHANGELOG.md -- file that logs all the changes made to the software on each new version release.
  • docs -- documentation for the repository (e.g. tutorials, API docs, reference guide).
  • test -- folder where all project tests are located. It is a good practice to cover your project with tests to ensure correctness of implementation.
  • pyproject.toml -- file containing the build and package configurations for the python project. This file also contains configurations for:
    • Black -- a tool for automatic code formatting.
    • Autoflake -- a tool for removing unused imports and variables.

CI/CD

Testing and style

  • .coveragerc -- configuration for the code coverage tool used in testing.
  • coverage-html -- autogenerated folder holding html documents to explore code coverage after running the coverage tool. The entry point is coverage-html/index.html.
  • .flake8 -- configuration for Flake8, a tool for code style enforcing.
  • .gitlint -- configuration for Gitlint, a tool for checking commit message style.
  • .isort.cfg -- configuration for isort, a tool to sort and group python imports automatically.
  • .mypy.ini -- configuration for mypy, a tool to for static type checking in python via type annotations.
  • .pylintrc -- configuration for Pylint, a tool for static code analysis (e.g. lint errors).
  • pytest.ini -- configuration for the PyTest framework used for testing the software.
  • tox.ini -- configuration file for tox framework that aims to automate and standardize testing in Python. Eases the packaging, testing and release process of Python software.