Skip to content

Conversation

@jpwhite3
Copy link

@jpwhite3 jpwhite3 commented Jun 20, 2021

As several have noted in issues, not supporting Python 3+ has been an issue. Given that the Python Software Foundation has officially ended support for the 2.x line, I though it time to address the issues by dropping support for anything 3.5 or lower. Here are the highlights of the change-set:

  • Characterization test suite has been created. Robust functional test suite is still needed.
  • All code has been formatted and linted using a moderately strict set of pylint/flake8/black rules.
  • A continuous integration process has been setup, leveraging GitHub Actions to automate testing, artifact generation, and release.
  • CI configuration tests every commit against Python 3.7, 3.8, 3.9, 3.10 in parallel.

jpwhite3 and others added 12 commits June 15, 2023 09:51
…8664755c

[Snyk] Security upgrade pygments from 2.5.2 to 2.7.4
…707aa3ee

[Snyk] Fix for 2 vulnerabilities
…214b34215

[Snyk] Security upgrade cryptography from 3.4.7 to 39.0.1
…d2ef87daa

[Snyk] Security upgrade requests from 2.25.1 to 2.31.0
…a4434eb04

[Snyk] Security upgrade cryptography from 39.0.1 to 41.0.0
Remove Python 3.6 as it is end of life
Removing Python 3.8 as it is end of life
@fuhrmanator
Copy link

Yes, waiting patiently for this merge (and eventually the updated npm for ease of install). 🚀

snyk-bot and others added 4 commits July 26, 2023 18:09
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-CERTIFI-5805047
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-URLLIB3-6002459
…6c76ac505

[Snyk] Security upgrade urllib3 from 2.0.3 to 2.0.7
…6b753c206

[Snyk] Security upgrade certifi from 2023.5.7 to 2023.7.22
@seperman
Copy link

Seems like the maintainer has given up on gitinspector. @adam-waldenberg

@jpwhite3 jpwhite3 force-pushed the feature/Drop-Python-2.7 branch from 639fdea to fb6b79b Compare July 31, 2025 16:30
@jpwhite3 jpwhite3 changed the title Drop support for Python 3.6 and lower Drop support for Python 3.9 and lower Jul 31, 2025
@jpwhite3
Copy link
Author

In the latest set of changes I've included the following:

  • Target: Python 3.13 with backward compatibility to 3.10+
  • Focus areas: readability, testability, performance, concurrency
  • Build system modernized with pyproject.toml configuration
  • Setup.py updated with Python 3.10+ requirements and proper classifiers
  • Type hints added to core modules (gitinspector.py, changes.py)
  • Poetry-based dependency management implemented with comprehensive pyproject.toml
  • Replaced requirements.txt with Poetry configuration including dev dependencies
  • Makefile updated to use "poetry run" prefix for all commands
  • GitHub Actions CI/CD updated to use Poetry with caching and comprehensive testing
  • CONTRIBUTING.md file created with detailed contributor setup guidance
  • Project now fully modernized for Python 3.10+ with Poetry workflow
  • Created git_utils.py module with robust git command detection using shutil.which() and fallback paths
  • Modernized localization.py with pathlib Path usage and comprehensive type hints
  • Updated basedir.py to use git_utils module for improved git repository detection
  • Fixed file handling to use pathlib.Path and proper context managers
  • Test coverage increased from 50% to 53% (3% improvement)
  • Implemented robust test strategies: unit tests, integration tests, edge cases, error handling, and concurrent operations
  • Fixed Python 3.11+ type annotation compatibility issues
  • Resolved cross-platform path handling (macOS /private prefix differences)

@jpwhite3
Copy link
Author

Based on the inactivity of the project, I have started a stripped down version of this application. It is written in GO for cross-platform compatibility, and can be found here: https://github.com/jpwhite3/git-inquisitor

Contributions welcome.

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.

8 participants