Skip to content

Commit 993e752

Browse files
Updated for 2024
+ New github templates for issues and PRs etc. + Updated cc year + added template GH action examples (see first GH action tests) + updated circle-ci to use newer python versions
1 parent c13a528 commit 993e752

23 files changed

+1068
-9
lines changed

.circleci/config.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ jobs:
55
- image: circleci/python:3.7
66
- image: circleci/python:3.8
77
- image: circleci/python:3.9
8+
- image: circleci/python:3.10
9+
- image: circleci/python:3.11
10+
- image: circleci/python:3.12
811
environment:
912
CI: cicleci
1013
DEBIAN_FRONTEND: noninteractive
@@ -44,6 +47,9 @@ jobs:
4447
- image: circleci/python:3.7
4548
- image: circleci/python:3.8
4649
- image: circleci/python:3.9
50+
- image: circleci/python:3.10
51+
- image: circleci/python:3.11
52+
- image: circleci/python:3.12
4753
parallelism: 2
4854
environment:
4955
CI: cicleci
@@ -91,6 +97,9 @@ jobs:
9197
- image: circleci/python:3.7
9298
- image: circleci/python:3.8
9399
- image: circleci/python:3.9
100+
- image: circleci/python:3.10
101+
- image: circleci/python:3.11
102+
- image: circleci/python:3.12
94103
parallelism: 2
95104
environment:
96105
CI: cicleci

.github/CODE_OF_CONDUCT.md

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

.github/CONTRIBUTING.md

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
## Contributing
2+
You are here to help the Python Multicast Project? Awesome, feel welcome and read the following sections in order to know what and how to work on something. If you get stuck at any point you can create a ticket on GitHub.
3+
4+
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
5+
6+
7+
When reporting an issue, please list the version of Python Multicast Library you are using and any relevant information about your software environment (python version, OS type and version, etc). Also avoid vague language like "it doesn't work." Please describe as specifically as you can what behavior you are actually seeing (eg: an error message? a nil return value?).
8+
9+
10+
For all contributions, please respect the following guidelines:
11+
12+
Each pull request should implement ONE feature or bugfix. If you want to add or fix more than one thing, submit more than one pull request.
13+
- Do not commit changes to files that are irrelevant to your feature or bugfix (eg: .gitignore).
14+
- Do not add new external dependencies unless ABSOLUTELY necessary (these could cause Load Errors on certain systems).
15+
- Add new tests for new code if able (otherwise add descriptive pseudo-tests as issues).
16+
- Be willing to accept criticism and work on improving your code; care must be taken not to introduce bugs or vulnerabilities.
17+
18+
#### Known Issues and Possible Improvements
19+
20+
For Details on current issues:
21+
- see [Issues](https://github.com/reactive-firewall/python-repo/issues)
22+
23+
## Triaging tickets
24+
Here is a brief explanation on how I triage incoming tickets to get a better sense of what needs to be done on what end.
25+
26+
>>Note
27+
>>
28+
>>You will need Triage permission on the project in order to do this. You can ask one of the members of the Team to give you access. (Please join the beta first.)
29+
30+
## Initial triage
31+
When sitting down to do some triaging work, start with the list of untriaged tickets. Consider all tickets that do not have a label as untriaged. The first step is to categorize the ticket into one of the following categories and either close the ticket or assign an appropriate lable. The reported issue
32+
33+
* is not valid
34+
If you think the ticket is invalid comment why you think it is invalid, then close the ticket. Tickets might be invalid if they were already fixed in the past or it was decided that the proposed feature will not be implemented because it does not conform with the overall goal of Pocket-PiAI Project. Also if you happen to know that the problem was already reported, label the ticket with Status: duplicate, reference the other ticket that is already addressing the problem and close the duplicate.
35+
36+
Examples:
37+
38+
This is an issue. (A good starting point for first person to discover)
39+
40+
41+
* does not provide enough information
42+
Add the label question if the reported issue does not contain enough information to decide if it is valid or not and ask on the ticket for the required information to go forward. I will re-triage all tickets that have the label question assigned. If the original reporter left new information we can try to re-categorize the ticket. If the reporter did not come back to provide more required information after a long enough time, we will close the ticket (this should be roughly about two weeks).
43+
44+
Examples:
45+
46+
My builds stopped working. Please help! Ask for a link to the build log and for which project is affected.
47+
48+
49+
* is a valid enhancement proposal
50+
If the ticket contains an enhancement proposal that aligns with the goals of this repo, then add the label Enhancement. If the proposal seems valid but requires further discussion between core contributors because there might be different possibilities on how to implement the enhancement, then also add the label question.
51+
52+
Examples:
53+
54+
Improve documentation Examples in contribute docs.
55+
Provide better integration with security feature XYZ
56+
Refactor module X for better readability (see #48)
57+
Achieve world domination (also needs the label question)
58+
59+
60+
* is a valid problem within the code base:
61+
If it’s a valid bug, then add the label Bug. Try to reference related issues if you come across any.
62+
63+
Examples:
64+
65+
Example Library fails to transmit the leter 'x' or 'y' (logs attached)
66+
67+
68+
* is a question and needs answering:
69+
If the ticket contains a question about the code, then move question to FAQ on wiki and add task to answer question on wiki to the issue (or close if already answered).
70+
71+
Examples:
72+
73+
My message was seen by two hosts. Why?
74+
Why are my builds failing?
75+
76+
77+
Helpful links for triaging
78+
Here is a list of links for contributors that look for work:
79+
80+
Untriaged tickets: Go and triage them!
81+
82+
83+
# Reviewing:
84+
85+
This is the checklist that I try to go through for every single pull request that I get. If you're wondering why it takes so long for me to accept pull requests, this is why.
86+
87+
## General
88+
89+
- [ ] Is this change useful to me, or something that I think will benefit others greatly?
90+
- [ ] Check for overlap with other PRs.
91+
- [ ] Think carefully about the long-term implications of the change. How will it affect existing projects that are dependent on this? How will it affect my projects? If this is complicated, do I really want to maintain it forever? Is there any way it could be implemented as a separate package, for better modularity and flexibility?
92+
93+
## Check the Code
94+
95+
- [ ] If it does too much, ask for it to be broken up into smaller PRs.
96+
- [ ] Does it pass `make test-style` (flake8, etc.)?
97+
- [ ] Is it consistent?
98+
- [ ] Review the changes carefully, line by line. Make sure you understand every single part of every line. Learn whatever you do not know yet.
99+
- [ ] Take the time to get things right. PRs almost always require additional improvements to meet the bar for quality. Be very strict about quality. This usually takes several commits on top of the original PR.
100+
101+
## Check the Tests
102+
103+
- [ ] Does it have tests? If not:
104+
105+
- [ ] Comment on the PR "Can you please add tests for this code to `tests/test_blah.py`", or...
106+
- [ ] Write the tests yourself.
107+
108+
- [ ] Do the tests pass for all of the following? If not, write a note in the PR, or fix them yourself.
109+
110+
- [ ] Python 3.8 - Mac
111+
- [ ] Python 3.8 - Linux (OPTIONAL)
112+
- [ ] Python 3.9 - Linux
113+
- [ ] Python 3.9 (or Newer) - Mac
114+
- [ ] Python 3.10 - Linux
115+
- [ ] Python 3.11 - Linux
116+
- [ ] Python 3.12 - Linux
117+
- [ ] Python any - Windows (OPTIONAL)
118+
119+
## Check the Docs
120+
121+
- [ ] Does it have docs? If not:
122+
123+
- [ ] Comment on the PR "Can you please add docs for this feature to the wiki", or...
124+
- [ ] Write the docs yourself.
125+
126+
- [ ] If any new functions/classes are added, do they contain docstrings?
127+
128+
## Credit the Authors
129+
130+
- [ ] Add name and URL to `README.md` for security fixes.
131+
- [ ] Thank them for their hard work.
132+
133+
## Check the copyright year:
134+
135+
- [ ] reads:
136+
137+
> Copyright (c) 2017-2024, Author
138+
139+
140+
## Close Issues
141+
142+
- [ ] Merge the PR branch. This will close the PR's issue.
143+
- [ ] Close any duplicate or related issues that can now be closed. Write thoughtful comments explaining how the issues were resolved.
144+
145+
## Release (optional)
146+
147+
- [ ] Decide whether the changes in master make sense as a major, minor, or patch release.
148+
- [ ] Look at the clock. If you're tired, release later when you have time to deal with release problems.
149+
- [ ] Then follow all the steps in [EXAMPLE Release Checklist](https://github.com/reactive-firewall/python-repo/issues/) FIXME!

.github/ISSUE_TEMPLATE.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
>> Your Issue may have already been reported!
2+
>> Please check the [list of issues](../) before creating a new one.
3+
4+
## Basic Info
5+
>> When reporting an issue, please list the version of Python Multicast Library you are using and any relevant information about your software environment:
6+
- Python version:
7+
>> `python3 --version || python --version`
8+
- OS type
9+
>> `uname -a`
10+
- [ ] linux
11+
- [ ] MacOS (darwin)
12+
- `multicast` version:
13+
>> `python3 -m pythonrepo.pythonrepo --version`
14+
15+
16+
17+
## Steps to Reproduce Issue:
18+
19+
>> Avoid vague language like "it doesn't work." Please describe as specifically as you can what behavior you are actually seeing (eg: an error message? a nil return value?).
20+
1.
21+
2.
22+
3.
23+
4.
24+
25+
## Logs (If Available):
26+
>> Please attach any logs from pythonrepo relevant to the bug.
27+
28+
29+
## Additional Information:
30+
>> Anything else relevant to this issue.

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: Bug, Failing
6+
assignees: reactive-firewall
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Logs** _(optional)_
24+
If applicable, add logs here to help explain your problem.
25+
26+
**Screenshots** _(optional)_
27+
If applicable, add screenshots to help explain your problem.
28+
29+
**PiAP Device (please complete the following information):**
30+
- OS: [e.g. macOS]
31+
- OS Version: [e.g. 22]
32+
- Python Version [e.g. 3.9] _(optional)_
33+
- Python Template Version: [e.g. v0.5.0]
34+
35+
**Additional context** _(optional)_
36+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Documentation gap
3+
about: Create a question to help us improve our documentation
4+
title: I have a question about
5+
labels: Documentation, Github, question
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the question**
11+
A clear and concise question.
12+
13+
**Expected answer form**
14+
A clear and concise description of what you expected to find in the documentation.
15+
16+
**Related Documentation** __(optional)__
17+
If applicable, add documentation references to help explain your question.
18+
19+
**Additional context**
20+
Add any other context about the question here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature Suggestion
3+
about: Suggest an idea for this project
4+
title: Plea for awesome feature
5+
labels: Design, Enhancement
6+
assignees: reactive-firewall
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.** _(optional)_
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: Volunteer to help on Github
3+
about: Offer to help with the project
4+
title: Can I help out?
5+
labels: Github, question, wontfix
6+
assignees: ''
7+
8+
---
9+
10+
**introduction (introduce yourself)**
11+
[e.g. Hi I am a template robot.]
12+
13+
**Motivation (why do you want to help)**
14+
Please describe why you want to help, do you like testing or fixing or something else?
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: Volunteer to help template
3+
about: Offer to help with the project
4+
title: Can I help out?
5+
labels: question, wontfix
6+
assignees: ''
7+
8+
---
9+
10+
**introduction (introduce yourself)**
11+
[e.g. Hi I am a template robot.]
12+
13+
**Motivation (why do you want to help)**
14+
Please describe why you want to help, do you like testing or fixing or something else?

0 commit comments

Comments
 (0)