diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..e7785f0 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,6 @@ +# Be nice + +Everyone participating in the pynamer project, and in particular in the issue tracker, +pull requests, and social media activity, is expected to treat other people with respect +and more generally to follow the guidelines articulated in the +[Python Community Code of Conduct](https://www.python.org/psf/codeofconduct/). diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..eb63486 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,70 @@ +Thank you for considering improving piptools-sync, any contribution is much welcome! + +# Requesting a new feature + +If you would like to suggest a new feature, you can create a [feature request](https://github.com/Stephen-RA-King/piptools-sync/issues/new?&template=feature_request.md). + +# Reporting a bug + +If you encountered an unexpected behavior, please [open a new issue](https://github.com/Stephen-RA-King/piptools-sync/issues/new) +and describe the problem you have found. + +An ideal bug report includes: + +- The Python version you are using +- The piptools-sync version you are using (you can find it with `piptools-sync --version`) +- Your operating system name and version (Linux, MacOS, Windows) +- Your development environment and local setup (IDE, Terminal, project context, any relevant information that could be useful) +- Some [minimal reproducible example](https://stackoverflow.com/help/mcve) + +# Implementing changes + +If you want to enhance piptools-sync by implementing a changes, please [open a new issue](https://github.com/Stephen-RA-King/piptools-sync/issues/new) first. + +Then, implement the following workflow: + +1. Fork the [piptools-sync](https://github.com/Stephen-RA-King/piptools-sync) project from GitHub. + +2. Create a virtual environment with your favourite tool (virtualenv with virtualenv wrapper, venv etc) + using one of the supported versions of Python: ![](https://img.shields.io/pypi/pyversions/piptools-sync). + +3. Activate your virtual environment. + +4. Clone the repository locally: + + $ git clone git@github.com:your_name_here/piptools-sync.git + $ cd piptools-sync + +5. Install piptools-sync in development mode: + + $ pip install -e . + +6. Install pre-commit hooks that will check your commits: + + $ pre-commit install --install-hooks + +7. Create a new branch from `main`: + + $ git checkout main + $ git branch fix_bug + $ git checkout fix_bug + +8. Implement the modifications. During the process of development, honor [PEP 8](https://www.python.org/dev/peps/pep-0008/) as much as possible. + +9. Add unit tests and ensure all are passing: + + $ tox + +10. Update the documentation. + +11. If your development modifies piptools-sync behavior, update the `CHANGELOG.md` file with your changes. + +12. `add` and `commit` your changes, then `push` your local project: + + $ git add . + $ git commit -m 'Add succinct explanation of what changed' + $ git push origin fix_bug + +13. If previous step failed due to the pre-commit hooks, fix reported errors and try again. + +14. Finally, [open a pull request](https://github.com/Stephen-RA-King/piptools-sync/compare) before getting it merged! diff --git a/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md deleted file mode 100644 index fd7d429..0000000 --- a/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,43 +0,0 @@ - - -## Issue Overview - - - -## Describe your environment - - - -## Steps to Reproduce - - - -1. -2. -3. -4. - -## Expected Behavior - - - -## Current Behavior - - - -## Possible Solution - - - -## Screenshots / Video - - - -## Related Issues - - diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 0000000..57b6d3f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,59 @@ +name: Bug report +description: Report a bug. For security vulnerabilities see Report a security vulnerability in the templates. +title: "BUG: " +labels: [00 - Bug] + +body: + - type: markdown + attributes: + value: > + Thank you for taking the time to file a bug report. Before creating a new + issue, please make sure to take a few minutes to check the issue tracker + for existing issues about the bug. + Please refer to [minimal reproducible example](https://stackoverflow.com/help/mcve). + + - type: textarea + attributes: + label: "Describe the issue:" + validations: + required: true + + - type: textarea + attributes: + label: "Reproduce the code example:" + description: > + A short code or CLI example that reproduces the problem/missing feature. It + should be self-contained, i.e., can be copy-pasted into the Python + interpreter. + placeholder: | + << your code or command line here >> + render: python + validations: + required: true + + - type: textarea + attributes: + label: "Error message:" + description: > + Please include full error message, if any. + placeholder: | + << Full traceback starting from `Traceback: ...` >> + render: shell + + - type: textarea + attributes: + label: "Runtime information:" + description: > + Include any runtime information here + validations: + required: true + + - type: textarea + attributes: + label: "Context for the issue:" + description: | + Please supply your context for the issue. + placeholder: | + << your explanation here >> + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..e8cb356 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: documentation + url: https://piptools-sync.readthedocs.io/en/latest/ + about: please check the docs first diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 0000000..439e76c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,19 @@ +name: Documentation +description: Report an issue related to pynamer documentation. +title: "DOC: " +labels: [04 - Documentation] + +body: + - type: textarea + attributes: + label: "Issue with current documentation:" + description: > + Please make sure to leave a reference to the document/code you're + referring to. + + - type: textarea + attributes: + label: "Idea or request for content:" + description: > + Please describe as clearly as possible what topics you think are missing + from the current documentation. diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml new file mode 100644 index 0000000..f932b83 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -0,0 +1,17 @@ +name: Feature request +description: Feature request +title: "ENH: " + +body: + - type: markdown + attributes: + value: > + If you're looking to request a new feature or change in functionality, + including adding or changing the meaning of arguments to an existing + function, please open an issue or pull request. + + - type: textarea + attributes: + label: "Proposed new feature or change:" + validations: + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c416190..d1f39f7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,6 +16,6 @@ Tests are required for bugfixes and new features. Documentation changes are necessary for formatting and most enhancement changes. --> -- [ ] Add a CHANGELOG entry if necessary? -- [ ] Add / update tests if necessary? -- [ ] Add new / update outdated documentation? +- [ ] Add a CHANGELOG entry if necessary? +- [ ] Add / update tests if necessary? +- [ ] Add new / update outdated documentation? diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 0000000..858f267 --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,13 @@ +# Security Policy + +## Supported Versions + +As an open source product, only the latest major version will be patched for security vulnerabilities. Previous versions of pynamer will not be retroactively patched. + +## Reporting a Vulnerability + +To report a security issue, please email [sking.github@gmail.com](mailto:sking.github@gmail.com) with a description of the issue, the steps you took to create the issue, affected versions, and if known, mitigations for the issue. + +You can also use [huntr.dev](https://huntr.dev) to disclose security issues via [this form](https://huntr.dev/bounties/disclose/?target=https://github.com/Stephen-RA-King/pynamer). + +Once the vulnerability has been confirmed, it will be fixed as soon as possible if feasible.