Skip to content

Conversation

@nick-youngblut
Copy link

This pull request introduces several improvements to the gtfparse library, including the addition of type annotations for better code clarity, enhancements to the build system, and updates to function documentation. It also simplifies dependency management and modernizes the project structure. Below are the most important changes grouped by theme.

Code Enhancements and Type Annotations:

  • Added type annotations to multiple functions, such as expand_attribute_strings in gtfparse/attribute_parsing.py, create_missing_features in gtfparse/create_missing_features.py, and various parsing functions in gtfparse/read_gtf.py, improving code readability and type safety. [1] [2] [3] [4] [5]

Build System and Dependency Management:

  • Replaced the requirements.txt file with a pyproject.toml configuration, aligning with modern Python packaging standards. Dependencies, including development dependencies, are now specified in the [project] and [project.optional-dependencies] sections.
  • Updated the installation process in .github/workflows/tests.yml to use pip install ".[dev]" for installing development dependencies.

Documentation and Functionality Improvements:

  • Added detailed docstrings to functions like parse_with_polars_lazy and parse_gtf_and_expand_attributes in gtfparse/read_gtf.py, explaining parameters, return types, and usage examples for better developer understanding. [1] [2]

…pyarrow-version

Bump pyarrow version and add build backend
- Added .cursor/ to .gitignore.
- Updated pyproject.toml to include build-system, version, optional dependencies, and refined classifiers.
- Removed requirements.txt and adjusted GitHub Actions workflow to install development dependencies directly from pyproject.toml.
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.

1 participant