Skip to content

Commit 3ac64cd

Browse files
chore: professionalize repository for open-source and clean up tracked pycache files
1 parent 65278c2 commit 3ac64cd

18 files changed

+520
-4513
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Bug Report
2+
description: File a report to help us improve
3+
title: "[BUG] <title>"
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to fill out this bug report!
10+
- type: textarea
11+
id: description
12+
attributes:
13+
label: Describe the bug
14+
description: A clear and concise description of what the bug is.
15+
validations:
16+
required: true
17+
- type: textarea
18+
id: reproduction
19+
attributes:
20+
label: Steps to reproduce
21+
description: Steps to reproduce the behavior.
22+
placeholder: |
23+
1. Go to '...'
24+
2. Click on '....'
25+
3. Scroll down to '....'
26+
4. See error
27+
validations:
28+
required: true
29+
- type: textarea
30+
id: expected-behavior
31+
attributes:
32+
label: Expected behavior
33+
description: A clear and concise description of what you expected to happen.
34+
validations:
35+
required: true
36+
- type: textarea
37+
id: logs
38+
attributes:
39+
label: Relevant logs or output
40+
description: Please copy and paste any relevant logs or output here.
41+
render: shell
42+
- type: textarea
43+
id: environment
44+
attributes:
45+
label: Environment Info
46+
description: OS, Python Version, Hardware, etc.
47+
validations:
48+
required: true
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Feature Request
2+
description: Suggest an idea for this project
3+
title: "[FEATURE] <title>"
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
We are always looking for ways to improve the project!
10+
- type: textarea
11+
id: problem
12+
attributes:
13+
label: Is your feature request related to a problem?
14+
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
15+
validations:
16+
required: true
17+
- type: textarea
18+
id: solution
19+
attributes:
20+
label: Describe the solution you'd like
21+
description: A clear and concise description of what you want to happen.
22+
validations:
23+
required: true
24+
- type: textarea
25+
id: alternatives
26+
attributes:
27+
label: Describe alternatives you've considered
28+
description: A clear and concise description of any alternative solutions or features you've considered.
29+
- type: textarea
30+
id: additional-context
31+
attributes:
32+
label: Additional context
33+
description: Add any other context or screenshots about the feature request here.

.github/workflows/ci.yml

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,38 @@ name: CI
22

33
on:
44
push:
5+
branches: [ main ]
56
pull_request:
7+
branches: [ main ]
68

79
jobs:
810
test:
911
runs-on: ubuntu-latest
1012
strategy:
11-
fail-fast: false
1213
matrix:
13-
python-version: ["3.9", "3.10", "3.11"]
14+
python-version: ["3.10", "3.11", "3.12"]
15+
1416
steps:
15-
- uses: actions/checkout@v4
16-
- name: Set up Python
17-
uses: actions/setup-python@v5
18-
with:
19-
python-version: ${{ matrix.python-version }}
20-
- name: Install dependencies
21-
run: |
22-
python -m pip install --upgrade pip
23-
pip install -r requirements.txt
24-
- name: Run tests
25-
run: |
26-
pytest -q
17+
- uses: actions/checkout@v4
18+
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v5
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install -r requirements.txt
28+
pip install pytest pytest-cov
29+
30+
- name: Run tests
31+
run: |
32+
python -m pytest tests/ --cov=src --cov-report=xml
33+
34+
- name: Upload coverage to Codecov
35+
uses: codecov/codecov-action@v4
36+
with:
37+
token: ${{ secrets.CODECOV_TOKEN }}
38+
file: ./coverage.xml
39+
fail_ci_if_error: false

.gitignore

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,26 @@ pip-delete-this-directory.txt
165165
.pytest_cache/
166166
.coverage
167167
htmlcov/
168+
coverage.xml
169+
nosetests.xml
168170

169-
# Benchmarking outputs (optional - uncomment if you want to track these)
170-
# results/metrics/benchmark_results.json
171-
# results/plots/benchmark_comparison.png
171+
# Web GUI (Node.js/Vite)
172+
web-gui/node_modules/
173+
web-gui/dist/
174+
web-gui/.env
175+
web-gui/.env.local
176+
web-gui/*.local
177+
web-gui/.npm
178+
web-gui/package-lock.json
179+
180+
# Project Specific (Presentation & Logs)
181+
training_logs.txt
182+
presentation_report.txt
183+
demo_visuals.log
184+
*.webp
185+
*.png
186+
!README.md
187+
188+
# Benchmarking outputs
189+
results/metrics/benchmark_results.json
190+
results/plots/benchmark_comparison.png

CODE_OF_CONDUCT.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28+
29+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30+
31+
## Scope
32+
33+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34+
35+
## Enforcement
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [INSERT CONTACT EMAIL]. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38+
39+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40+
41+
## Attribution
42+
43+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html)

CONTRIBUTING.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Contributing to Quantum-Safe Hybrid ML
2+
3+
Thank you for your interest in contributing to the Quantum-Safe Hybrid ML project! We welcome contributions from the community to help make federated learning more secure and privacy-preserving.
4+
5+
## How Can I Contribute?
6+
7+
### Reporting Bugs
8+
- Use the [GitHub Issues](https://github.com/SamuelJoseph23/quantum-safe-hybrid-ml/issues) tracker.
9+
- Check if the bug has already been reported.
10+
- Provide a clear, detailed description of the issue and steps to reproduce it.
11+
12+
### Suggesting Enhancements
13+
- Open a [GitHub Issue](https://github.com/SamuelJoseph23/quantum-safe-hybrid-ml/issues).
14+
- Describe the feature you'd like to see and why it would be useful.
15+
16+
### Contributing Code
17+
1. **Fork the Repository**: Create your own copy of the project.
18+
2. **Create a Branch**: `git checkout -b feature/your-feature-name`.
19+
3. **Develop**: Implement your changes.
20+
4. **Test**: Run the test suite: `python -m pytest tests/`.
21+
5. **Commit**: Use clear, descriptive commit messages.
22+
6. **Push**: `git push origin feature/your-feature-name`.
23+
7. **Pull Request**: Submit a PR to the `main` branch.
24+
25+
## Coding Standards
26+
- Follow PsEP 8 for Python code.
27+
- Ensure all new features are accompanied by unit tests in the `tests/` directory.
28+
- Update documentation in the `src/` files (docstrings) and the `README.md` if necessary.
29+
30+
## Security
31+
If you discover a security vulnerability, please do NOT open a public issue. Instead, refer to our [SECURITY.md](./SECURITY.md) guidelines.
32+
33+
---
34+
By contributing, you agree that your contributions will be licensed under the project's [Apache 2.0 License](./LICENSE).

0 commit comments

Comments
 (0)