Skip to content

Latest commit

 

History

History
86 lines (72 loc) · 3.61 KB

CHANGELOG.md

File metadata and controls

86 lines (72 loc) · 3.61 KB

Changelog:

v0.0.2 (21.10.2023)

  • Added more Systems.
  • Added new Lyapunov spectrum measure.
  • Added new simulation backend.
  • Added example folder.
  • Added static folder to generate animation in readme.
  • Changed plotly dependency to matplotlib.
  • More smaller improvements...

v0.0.1 (16.03.2023)

  • First release of lorenzpy

Pre-release status (13.03.2023):

  • Now using pre-commit as an automatic CI tool.
  • pre-commit runs some standard hooks, black, ruff and mypy.
  • The config for black, ruff and mypy is still in pyproject.toml
  • To run the pre-commit manual, run pre-commit run --all-files
  • To reinstall the pre-commits, run pre-commit install
  • My pre-commit GH action is running on ubuntu on python3.9
  • Note: There is some redundancy, as I have to specify the versions of black, ruff and mypy twice. Once in the .pre-commit-config.yaml and once in the pyproject.toml. Maybe I am only specifying which hook to use in the .pre-commit-config.yaml.
  • Q:
    • Should I add the tests also to pre-commit?
    • When to test?

Pre-release status (12.03.2023):

Development features:

  1. Use Black for formatting the code.

    • Local terminal usage: black .
    • Config in pyproject.toml
      • Set line-length to 88, set python versions to py8to py11
    • GitHub Actions:
      • Just check with black by running: black --check .
  2. Use Ruff as the Python linter.

    • Local terminal usage: ruff check .
    • Config in pyproject.toml
      • set line-length, the Rules (pycodestyle, pyflakes, pydocstyle, isort), the source files, and to ignore rule F401 to not complain about unused imports in __init__ files.
    • GitHub Actions:
      • run ruff check --format=github .
  3. Use MyPy as for type checking.

    • Local terminal usage: mypy
    • Config in pyproject.toml
      • Specify files: src/lorenzpy/
      • Ignore missing imports for plotly
    • GitHub Actions:
      • Just running mypy
  4. Testing with pytest-cov

    • Local terminal usage: pytest
    • Config in pyproject.toml
      • automatically add the following options when pytest is run:
        • --verbose --cov-config=pyproject.toml --cov-report term-missing --cov=lorenzpy
        • Note: This is somehow important for GitHub actions to work fine...
      • Omit the plot folder for the coverage.
    • GitHub Actions:
      • simply running pytest and then uploading the coverage reports to Codecov using the GitHub action: codecov-action
  5. Generating docs with mkdocs:

    • Following this tutorial
    • Generate the docs with mkdocs gh-deploy
    • Use the plugin mkdocstrings to automatically use the code-docstrings in the documentation.

Deployment on PyPI with GitHub Actions:

Resources: Taking inspiration from: https://github.com/dkmiller/modern-python-package, and https://github.com/denkiwakame/py-tiny-pkg.