Contributing to fsspec-utils¶
Development Has Moved
fsspec-utils is deprecated. Development has moved to fsspeckit.
- ✅ New features: Contribute to fsspeckit
- ⚠️ Bug fixes: Only critical fixes accepted for fsspec-utils
- 🔄 All new development: Goes to fsspeckit
We welcome limited contributions to fsspec-utils for critical bug fixes only. For new features and enhancements, please contribute to fsspeckit instead.
How to Contribute¶
Reporting Issues¶
For fsspeckit: Please open an issue on fsspeckit GitHub Issues
For fsspec-utils (legacy, critical bugs only): Open an issue on fsspec-utils GitHub Issues
When reporting an issue, please include:
- A clear and concise description of the problem.
- Steps to reproduce the behavior.
- Expected behavior.
- Screenshots or error messages if applicable.
- Your fsspec-utils version and Python environment details.
Submitting Pull Requests¶
Preferred: Submit pull requests to fsspeckit for all new features and improvements.
For fsspec-utils (critical bug fixes only): To submit a critical bug fix to fsspec-utils:
- Fork the Repository: Start by forking the
fsspec-utilsrepository on GitHub. - Clone Your Fork: Clone your forked repository to your local machine.
- Create a New Branch: Create a new branch for your changes.
- Make Your Changes: Implement your bug fix or feature.
- Write Tests: Ensure your changes are covered by appropriate unit tests.
- Run Tests: Verify all tests pass before submitting.
- Format Code: Ensure your code adheres to the project's style guidelines. The project uses
rufffor linting and formatting. - Commit Your Changes: Write clear and concise commit messages.
- Push to Your Fork: Push your branch to your forked repository.
- Open a Pull Request: Go to the original
fsspec-utilsrepository on GitHub and open a pull request from your new branch. Provide a detailed description of your changes.
Development Setup¶
To set up your development environment, follow these steps:
- Clone the repository:
- Install
uv:fsspec-utilsusesuvfor dependency management and running commands. If you don't haveuvinstalled, you can install it viapip: - Install Development Dependencies:
The project uses
uvto manage dependencies. Install thedevdependency group which includes tools for testing, linting, and documentation generation.This command installs the project in editable mode (-e) and includes all development-related dependencies specified inpyproject.tomlunder the[project.optional-dependencies] devsection.
Best Practices for Contributions¶
- Code Style: Adhere to the existing code style. We use
rufffor linting and formatting. - Testing: All new features and bug fixes should be accompanied by relevant unit tests.
- Documentation: If your changes introduce new features or modify existing behavior, please update the documentation accordingly.
- Commit Messages: Write descriptive commit messages that explain the purpose of your changes.
- Atomic Commits: Try to keep your commits focused on a single logical change.
- Branch Naming: Use clear and concise branch names (e.g.,
feature/new-feature,bugfix/fix-issue-123).