Skip to content

poetry refactoring #543

Open
Open
@gpongelli

Description

@gpongelli

Hi,
this issue is just to track poetry (and other tools) refactory.

Tools that will be added:

  • Poetry: Manage dependency, build and release
  • Tox: Test your code against environment matrix, lint and artifact check
  • Generate Sphinx docs from tox
  • Testing with Pytest and coverage, from tox env
  • Format with Black and Isort
  • Lint code with Flake8
  • Lint python files with pylint
  • Documentation linter darglint
  • Security oriented linter bandit
  • Misspelling linter codespell
  • Check static type with Mypy (optional)
  • commitizen: Pre-configured version bumping from git commit messages with a single command, using Semantic Versioning
  • Host release changelog into GitHub Pages
  • integration of all the above into GitHub actions, including:
    • publish official release to PyPI automatically when CI success
    • publish documents automatically when CI success
    • extract changelog from CHANGELOG and integrate with release notes automatically

optionally, a command line interface using Click could be added, is it useful ?

For now, the main drawback of adding poetry is that the code must be restructured having a python package that contains modules, instead of the actual all-in-one module.
This led to a MAJOR version bump (0.10.0 -> 1.0.0) because user need to change their import statement from
from requests_html import HTMLSession to from requests_html.session import HTMLSession <- notice the .session that's a new python file into the requests_html package.

@surister let me know your thoughts, if you agree with this I'll proceed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions