Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use up-to-date python libraries #155

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

deathaxe
Copy link

This PR proposes to update to python 3.9 and more up-to-date libraries.

Motiviation

It was impossible to setup a dev environment on a fairly up-to-date system (debian on wsl) which runs python 3.9 due to several compilation errors in lxml, psycopg2, ... , which are no longer provided as wheels.

Notes

  1. dogpile.core conflicts with dogpile.cache and is therefore removed.

  2. psycopg2 doesn't install on debian, hence using psycopg2-binary.

  3. Some tiny compatibility issues are fixed in code.

    a) config.py
    PyYAML requires a loader to be specified or safe_load() to be
    used to prevent security vulnerabilities.

    b) readme_renderer.py

    • creole.rest2html was renamed to creole.rest_tools`
    • SmartyPants class has been replaced by smartypants() function
      somewhere in 2015
    • HTML_SKIP_STYLE flag is no longer supported.
    • Markdown objects can directly be called. .render() no longer
      needed/supported.

Motiviation

Impossible to install all those old modules on a fairly up-to-date
system due to several compilation errors in lxml, markdown, psycopg2, ... . World has just moved on too far.

So just try to go ahead with latest releases, so pip can use wheels.

Note:

1. dogpile.core conflicts with dogpile.cache and is therefore removed.
2. psycopg2 doesn't install on debian, hence using psycopg2-binary.
3. Some tiny compatibility issues are fixed in code.

   a) config.py
      PyYAML requires a loader to be specified or `safe_load()` to be
      used to prevent security vulnerabilities.

   b) readme_renderer.py
      - `creole.rest2html was renamed to `creole.rest_tools`
      - `SmartyPants` class has been replaced by smartypants() function
        somewhere in 2015
      - HTML_SKIP_STYLE flag is no longer supported.
      - Markdown objects can directly be called. `.render()` no longer
        needed/supported.
Tested on Debian 12 with python 3.11 and PostgreSQL 15

CAUTION: gears needs a patch to run on python 3.10+.

see: gears/gears#27
Some steps needed to setup packagecontrol.io server on linux.
setup/requirements.txt Outdated Show resolved Hide resolved
Use pip-compile to create pinned requirements.

1. pip install pip-tools
2. pip-compile setup/requirements.in
3. pip-compile setup/dev-requirements.in
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants