forked from jrieke/streamlit-analytics
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #123 from 444B/test/migrate-from-pipenv-to-uv
Test/migrate from pipenv to uv, python 3.12 and OIDC release methods
- Loading branch information
Showing
17 changed files
with
1,910 additions
and
2,203 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,128 +1,49 @@ | ||
# Contributing to Streamlit-Analytics2 | ||
|
||
# Contributing to Streamlit-Analytics | ||
|
||
We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's: | ||
|
||
- Reporting a bug | ||
- Discussing the current state of the code | ||
- Submitting a fix | ||
- Proposing new features | ||
- Becoming a maintainer | ||
|
||
## We Develop with GitHub | ||
|
||
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests. | ||
|
||
## We Use GitHub Flow | ||
|
||
All code changes happen through pull requests, so we suggest you familiarize yourself with [GitHub Flow](https://guides.github.com/introduction/flow/). Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests: | ||
|
||
1. Fork the repo and create your branch from `main`. **Make sure to start your branch with the word "test/"** | ||
2. Make sure your code lints by running tests on the code (described below) | ||
3. Issue that pull request! | ||
|
||
## Any contributions you make will be under the same license as the project | ||
|
||
In short, when you submit code changes, your submissions are understood to be under the same [license](LICENSE.md) that covers the project. Feel free to contact the maintainers if that's a concern. | ||
|
||
## Report bugs using Github's [issues](https://github.com/444B/streamlit-analytics2/issues/new/choose) | ||
|
||
We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/444B/streamlit-analytics2/issues/new/choose); it's that easy! | ||
|
||
**Great Bug Reports** tend to have: | ||
|
||
- A quick summary and/or background | ||
- Steps to reproduce | ||
- Be specific! | ||
- Give sample code if you can. | ||
- What you expected would happen | ||
- What actually happens | ||
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work) | ||
|
||
## Use a Consistent Coding Style | ||
|
||
- We follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guide for Python code. | ||
<!-- - Ensure your code passes the run_checks.sh (described below) | ||
``` --> | ||
|
||
## License | ||
|
||
By contributing, you agree that your contributions will be licensed under its [License](LICENSE.md). | ||
|
||
## Setting Up Your Development Environment | ||
|
||
### 1. Clone the Repository | ||
Navigate to the directory where you want to clone the repo and run: | ||
## Getting Started | ||
1. Fork and clone: | ||
```sh | ||
git clone https://github.com/444B/streamlit-analytics2.git | ||
cd streamlit-analytics2 | ||
``` | ||
|
||
### 2. Create a New Branch | ||
Create a new branch for your work: | ||
```sh | ||
git checkout -b name_of_your_new_branch | ||
``` | ||
> **IMPORTANT**: Start the name of your branch with "test/". Pushing on this branch will trigger a release to [TestPyPI](https://test.pypi.org/project/streamlit-analytics2/) where we can further verify that the code works as expected. | ||
### 3. Install Python and pipenv | ||
Ensure you have Python 3.10.x installed, then install pipenv: | ||
```sh | ||
pip install --user pipenv | ||
``` | ||
|
||
### 4. Create a Pipenv Environment | ||
Set up your pipenv environment with Python at least python 3.10. | ||
A higher version should be fine unless you are using cutting edge python expressions. | ||
2. Create branch: | ||
```sh | ||
pipenv --python 3.10 | ||
git checkout -b test/your-feature-name | ||
``` | ||
|
||
### 5. Install Dependencies | ||
Install all necessary project dependencies. If you are writing/editing code, it is **highly** reccomended that to get the dev packages. You will need them if you intend on contributing code. | ||
## Development Environment Setup | ||
1. Install Python 3.12.x | ||
2. Install and setup uv: | ||
```sh | ||
pipenv install --dev | ||
pip install uv | ||
uv venv | ||
source .venv/bin/activate # On Windows: .venv\Scripts\activate | ||
``` | ||
|
||
### 6. Activate the Virtual Environment | ||
Activate your pipenv environment: | ||
3. Install dependencies: | ||
```sh | ||
pipenv shell | ||
pipenv update | ||
uv pip install -e ".[dev]" | ||
``` | ||
|
||
### 7. Write code, test new features! | ||
Please note that the ```examples/minimap.py``` file is set to detect your file path and use the local code for ```streamlit_analytics2``` instead of a pip installed version. Just change the code in ```src/streamlit/analytics2/...py``` and it should be used in the example files. | ||
>[!NOTE]Sometimes you might need to CTRL+C and restart streamlit. I havent yet figured out why save+rerun isnt working as expected. | ||
### 8. Run a Minimal Example | ||
Start with running a minimal Streamlit app to ensure everything is set up correctly: | ||
4. Verify setup: | ||
```sh | ||
streamlit run examples/minimal.py | ||
``` | ||
|
||
### 9. Before submitting | ||
- Our code goes through robust checks to ensure safety and high quality. Our [workflows](https://github.com/444B/streamlit-analytics2/actions) are set up to detect issues in code and will fail a deployment if any issues are detected. | ||
- To prevent lost time when reviewing the PR, please run the local test bash file to ensure that code in compliant. | ||
## Quality Checks | ||
```sh | ||
cd tests/ | ||
chmod +x /run_checks.sh | ||
chmod +x run_checks.sh | ||
./run_check.sh | ||
``` | ||
|
||
This will perform formatting and checks with the following packages: | ||
- black (code formatting) | ||
- isort (sorting imports) | ||
- flake8 (Linting) | ||
- mypy (Static type checking) | ||
- bandit (Security scanning) | ||
- pytest (test coverage) | ||
``` | ||
|
||
## Additional Tips | ||
## Pull Request Process | ||
1. Push changes: | ||
```sh | ||
git add . | ||
git commit -m "Your commit message" | ||
git push origin test/your-feature-name | ||
``` | ||
2. Open PR on GitHub | ||
|
||
- **Troubleshooting**: If you encounter any issues, please check common pipenv errors and their solutions. | ||
- **Making Contributions**: After testing your changes, commit them to your branch, push to your fork, and open a pull request against the main repository. | ||
- **Environment Variables**: If the project requires specific environment variables, set them up according to the project documentation. | ||
- **Testing and Linting**: Before submitting your pull request, ensure you run any tests and lint your code according to the project's guidelines. | ||
For issues: [GitHub issue tracker](https://github.com/444B/streamlit-analytics2/issues/new/choose) | ||
|
||
Thank you for contributing to streamlit-analytics2! | ||
By contributing, you agree to the project's [license](LICENSE.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,35 @@ | ||
# Pull Request Template | ||
## Description | ||
|
||
## TL;DR | ||
Provide a brief summary of the changes made. | ||
- | ||
Briefly describe the changes made in this pull request. | ||
|
||
## Problem Solved | ||
1. Describe the problem your changes address. | ||
2. Please mention the issue number if relevant | ||
- | ||
- | ||
## Related Issue(s) | ||
|
||
## Screenshots | ||
If applicable, add screenshots to help explain your solution. For adding images, use: | ||
- | ||
- Closes #[issue number] | ||
|
||
## Changes Made(Optional) | ||
List the main changes in bullet points. | ||
## Changes Made | ||
|
||
- [ ] Change 1... | ||
- [ ] Change 2... | ||
- [ ] ... | ||
- [ ] Change 1 | ||
- [ ] Change 2 | ||
- [ ] Change 3 | ||
|
||
## Manual Testing | ||
- [ ] You have manually tested all changes to ensure they work as intended. Replace the [ ] with a [X] if True. | ||
## Testing | ||
|
||
- [ ] I have manually tested these changes and confirm they work as intended. | ||
|
||
**How was this tested?** | ||
Describe the tests that you ran to verify your changes. | ||
- | ||
**Testing Details:** | ||
Describe how you tested the changes. | ||
|
||
## Screenshots (if applicable) | ||
|
||
Add any relevant screenshots here. | ||
|
||
## Checklist | ||
|
||
- [ ] I have read the [CONTRIBUTING](CONTRIBUTING.md) guide. | ||
- [ ] I have commented my code, particularly in hard-to-understand areas. | ||
- [ ] I have made corresponding changes to the documentation (README.md, CONTRIBUTING.md, etc.). | ||
- [ ] My changes generate no new warnings or errors. | ||
|
||
## Additional Notes | ||
Include any additional information that might be relevant for reviewers. | ||
- | ||
|
||
Add any other notes or context about the pull request here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,38 @@ | ||
# To get started with Dependabot version updates, you'll need to specify which | ||
# package ecosystems to update and where the package manifests are located. | ||
# Please see the documentation for all configuration options: | ||
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file | ||
|
||
version: 2 | ||
updates: | ||
- package-ecosystem: "pip" # See documentation for possible values | ||
directory: "/" # Location of package manifests | ||
- package-ecosystem: "pip" | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" | ||
# Add these recommended settings | ||
allow: | ||
# Only handle production dependencies by default | ||
- dependency-type: "production" | ||
commit-message: | ||
prefix: "deps" | ||
include: "scope" | ||
# Group updates together | ||
groups: | ||
dev-dependencies: | ||
patterns: | ||
- "black" | ||
- "isort" | ||
- "flake8" | ||
- "mypy" | ||
- "bandit" | ||
- "pytest*" | ||
production-dependencies: | ||
patterns: | ||
- "streamlit" | ||
- "pandas" | ||
- "altair" | ||
- "google-cloud-firestore" | ||
# Specify target branch | ||
target-branch: "main" | ||
# Set reviewers for the PRs | ||
reviewers: | ||
- "444B" | ||
# Labels for PRs | ||
labels: | ||
- "dependencies" | ||
- "automated" |
Oops, something went wrong.