diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3471694..82dcf2d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,3 +34,7 @@ repos: hooks: - id: flake8 args: [--max-line-length=119] + - repo: https://github.com/rvben/rumdl-pre-commit + rev: v0.1.4 + hooks: + - id: rumdl diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 470640e..6dcf52a 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,36 +14,36 @@ While acknowledging differences in social norms, we all strive to meet our commu With these considerations in mind, we agree to behave mindfully toward each other and act in ways that center our shared values, including: - 1. Respecting the **purpose of our community**, our activities, and our ways of gathering. - 2. Engaging **kindly and honestly** with others. - 3. Respecting **different viewpoints** and experiences. - 4. **Taking responsibility** for our actions and contributions. - 5. Gracefully giving and accepting **constructive feedback**. - 6. Committing to **repairing harm** when it occurs. - 7. Behaving in other ways that promote and sustain the **well-being of our community**. +1. Respecting the **purpose of our community**, our activities, and our ways of gathering. +2. Engaging **kindly and honestly** with others. +3. Respecting **different viewpoints** and experiences. +4. **Taking responsibility** for our actions and contributions. +5. Gracefully giving and accepting **constructive feedback**. +6. Committing to **repairing harm** when it occurs. +7. Behaving in other ways that promote and sustain the **well-being of our community**. ## Restricted behaviors We agree to restrict the following behaviors in our community. Instances, threats, and promotion of these behaviors are violations of this Code of Conduct. - 1. **Harassment.** Violating explicitly expressed boundaries or engaging in unnecessary personal attention after any clear request to stop. - 2. **Character attacks.** Making insulting, demeaning, or pejorative comments directed at a community member or group of people. - 3. **Stereotyping or discrimination.** Characterizing anyone’s personality or behavior on the basis of a personal identity or trait. - 4. **Sexualization.** Behaving in a way that would generally be considered inappropriately intimate in the context or purpose of the community. - 5. **Violating confidentiality.** Sharing or acting on someone's personal or private information without their permission. - 6. **Endangerment.** Causing, encouraging, or threatening violence or other harm toward any person or group. - 7. Behaving in other ways that **threaten the well-being** of our community. +1. **Harassment.** Violating explicitly expressed boundaries or engaging in unnecessary personal attention after any clear request to stop. +2. **Character attacks.** Making insulting, demeaning, or pejorative comments directed at a community member or group of people. +3. **Stereotyping or discrimination.** Characterizing anyone’s personality or behavior on the basis of a personal identity or trait. +4. **Sexualization.** Behaving in a way that would generally be considered inappropriately intimate in the context or purpose of the community. +5. **Violating confidentiality.** Sharing or acting on someone's personal or private information without their permission. +6. **Endangerment.** Causing, encouraging, or threatening violence or other harm toward any person or group. +7. Behaving in other ways that **threaten the well-being** of our community. ### Other restrictions - 1. **Misleading identity.** Impersonating someone else for any reason, or pretending to be someone else to evade enforcement actions. - 2. **Misrepresenting project affiliation.** Speaking or acting in a way that implies an official affiliation with the BeeWare project, where one does not exist. - 3. **Failing to credit sources.** Not properly crediting the sources of content you contribute. - 4. **Promotional materials.** Sharing marketing or other commercial content in a way that is outside the norms of the community. - 5. **Excessive communication.** Disrespecting the time and space of others by engaging in an unacceptable volume of communication. - 6. **Unhelpful communication.** Offering opinions without relevant experience in the topic being discussed, entering into an ongoing discussion without first gaining familiarity with the history of the topic, or making contributions that are off-topic or otherwise distracting. - 7. **Irresponsible messaging.** Presenting content which includes, links, or describes other restricted behaviors without a relevant reason and appropriate prior warnings for consumers of that content. - 8. Other conduct that could reasonably be considered **unprofessional or inappropriate**. +1. **Misleading identity.** Impersonating someone else for any reason, or pretending to be someone else to evade enforcement actions. +2. **Misrepresenting project affiliation.** Speaking or acting in a way that implies an official affiliation with the BeeWare project, where one does not exist. +3. **Failing to credit sources.** Not properly crediting the sources of content you contribute. +4. **Promotional materials.** Sharing marketing or other commercial content in a way that is outside the norms of the community. +5. **Excessive communication.** Disrespecting the time and space of others by engaging in an unacceptable volume of communication. +6. **Unhelpful communication.** Offering opinions without relevant experience in the topic being discussed, entering into an ongoing discussion without first gaining familiarity with the history of the topic, or making contributions that are off-topic or otherwise distracting. +7. **Irresponsible messaging.** Presenting content which includes, links, or describes other restricted behaviors without a relevant reason and appropriate prior warnings for consumers of that content. +8. Other conduct that could reasonably be considered **unprofessional or inappropriate**. ## Reporting an issue @@ -55,25 +55,25 @@ When an incident does occur, it is important to report it promptly to the BeeWar To report a possible violation, email the Team at [conduct@beeware.org](mailto:conduct@beeware.org). If necessary, you can reach out to individual team members. On the BeeWare Discord server, you can also direct message anyone on the Response Team, or, if appropriate, mention `@moderators` in a public channel. Team members can be reached by the following usernames on Discord or GitHub, or the provided email addresses: - * Russell Keith-Magee (@freakboy3742; [russell@beeware.org](mailto:russell@beeware.org)) - * Kattni (@kattni; [kattni@beeware.org](mailto:kattni@beeware.org)) - * Katie McLaughlin (@glasnt; [katie@beeware.org](mailto:katie@beeware.org)) - * Philip James (@phildini; [philip@beeware.org](mailto:philip@beeware.org)) - * Charles Whittington (@HalfWhitt; [charles@beeware.org](mailto:charles@beeware.org)) +* Russell Keith-Magee (@freakboy3742; [russell@beeware.org](mailto:russell@beeware.org)) +* Kattni (@kattni; [kattni@beeware.org](mailto:kattni@beeware.org)) +* Katie McLaughlin (@glasnt; [katie@beeware.org](mailto:katie@beeware.org)) +* Philip James (@phildini; [philip@beeware.org](mailto:philip@beeware.org)) +* Charles Whittington (@HalfWhitt; [charles@beeware.org](mailto:charles@beeware.org)) The Response Team takes reports of violations seriously and will make every effort to respond in a timely manner. They will investigate all reports of code of conduct violations, reviewing messages, logs, and recordings, or interviewing witnesses and other participants. The Team will keep investigation and enforcement actions as transparent as possible while prioritizing safety and confidentiality. In order to honor these values, enforcement actions are carried out in private with the involved parties, but communicating to the whole community may be part of a mutually agreed upon resolution. If we determine that a public statement needs to be made, the identities of all victims and reporters will remain confidential unless those individuals instruct us otherwise. In your report, please include: - * **Your contact info** so we can get in touch with you if we need to follow up. - * **Names (real, nicknames, or pseudonyms) of any individuals involved.** If there were other witnesses besides you, please try to include them as well. - * **When and where the incident occurred.** Please be as specific as possible. - * **Your account of what occurred.** If there is a publicly available record (e.g. a Discord or GitHub message) please include a link. - * **Any extra context** you believe existed for the incident. - * **If you believe this incident is ongoing.** - * **If you believe any member of the Response Team has a conflict of interest** in adjudicating the incident. - * **What, if any, corrective response** you believe would be appropriate. - * **Any other information** you believe we should have. +* **Your contact info** so we can get in touch with you if we need to follow up. +* **Names (real, nicknames, or pseudonyms) of any individuals involved.** If there were other witnesses besides you, please try to include them as well. +* **When and where the incident occurred.** Please be as specific as possible. +* **Your account of what occurred.** If there is a publicly available record (e.g. a Discord or GitHub message) please include a link. +* **Any extra context** you believe existed for the incident. +* **If you believe this incident is ongoing.** +* **If you believe any member of the Response Team has a conflict of interest** in adjudicating the incident. +* **What, if any, corrective response** you believe would be appropriate. +* **Any other information** you believe we should have. Code of Conduct Response Team members are obligated to maintain confidentiality with regard to the reporter and details of an incident. @@ -83,12 +83,12 @@ You will receive a response acknowledging receipt of your report. We promise to The Response Team will immediately meet to review the incident and determine: - * What happened. - * Whether this event constitutes a code of conduct violation. - * Who the reported person is. - * Whether this is an ongoing situation, or if there is a threat to anyone's physical safety. - * If this is determined to be an ongoing incident or a threat to physical safety, the Response Team's immediate priority will be to protect everyone involved. This means we may delay an official response until we believe that the situation has concluded and that everyone is physically safe. - * If a member of the Response Team is one of the named parties, they will not be included in any discussions, and will not be provided with any confidential details from the reporter. +* What happened. +* Whether this event constitutes a code of conduct violation. +* Who the reported person is. +* Whether this is an ongoing situation, or if there is a threat to anyone's physical safety. +* If this is determined to be an ongoing incident or a threat to physical safety, the Response Team's immediate priority will be to protect everyone involved. This means we may delay an official response until we believe that the situation has concluded and that everyone is physically safe. +* If a member of the Response Team is one of the named parties, they will not be included in any discussions, and will not be provided with any confidential details from the reporter. If anyone on the Response Team believes they have a conflict of interest in adjudicating on a reported issue, they will inform the other Response Team members, and recuse themselves from any discussion about the issue. Following this declaration, they will not be provided with any confidential details from the reporter. @@ -102,25 +102,25 @@ Finally, to maintain transparency in the reporting and enforcement process, when If an investigation by the Response Team finds that this Code of Conduct has been violated, the following enforcement ladder may be used to determine how best to repair harm, based on the incident's impact on the individuals involved and the community as a whole. Depending on the severity of a violation, lower rungs on the ladder may be skipped. - 1. Warning - * Event: A violation involving a single incident or series of incidents. - * Consequence: A private, written warning from the Response Team. - * Repair: Examples of repair include a private written apology, acknowledgement of responsibility, and seeking clarification on expectations. +1. Warning + * Event: A violation involving a single incident or series of incidents. + * Consequence: A private, written warning from the Response Team. + * Repair: Examples of repair include a private written apology, acknowledgement of responsibility, and seeking clarification on expectations. - 2. Temporarily Limited Activities - * Event: A repeated incidence of a violation that previously resulted in a warning, or the first incidence of a more serious violation. - * Consequence: A private, written warning with a time-limited cooldown period designed to underscore the seriousness of the situation and give the community members involved time to process the incident. The cooldown period may be limited to particular communication channels or interactions with particular community members. - * Repair: Examples of repair may include making an apology, using the cooldown period to reflect on actions and impact, and being thoughtful about re-entering community spaces after the period is over. +2. Temporarily Limited Activities + * Event: A repeated incidence of a violation that previously resulted in a warning, or the first incidence of a more serious violation. + * Consequence: A private, written warning with a time-limited cooldown period designed to underscore the seriousness of the situation and give the community members involved time to process the incident. The cooldown period may be limited to particular communication channels or interactions with particular community members. + * Repair: Examples of repair may include making an apology, using the cooldown period to reflect on actions and impact, and being thoughtful about re-entering community spaces after the period is over. - 3. Temporary Suspension - * Event: A pattern of repeated violation which the Response Team has tried to address with warnings, or a single serious violation. - * Consequence: A private written warning with conditions for return from suspension. In general, temporary suspensions give the person being suspended time to reflect upon their behavior and possible corrective actions. Suspensions will be based on where the violation occurs, and may be limited to the space in which the violation occurs. In the event of a more serious violation, the suspension may apply to all spaces. - * Repair: Examples of repair include respecting the spirit of the suspension, meeting the specified conditions for return, and being thoughtful about how to reintegrate with the community when the suspension is lifted. +3. Temporary Suspension + * Event: A pattern of repeated violation which the Response Team has tried to address with warnings, or a single serious violation. + * Consequence: A private written warning with conditions for return from suspension. In general, temporary suspensions give the person being suspended time to reflect upon their behavior and possible corrective actions. Suspensions will be based on where the violation occurs, and may be limited to the space in which the violation occurs. In the event of a more serious violation, the suspension may apply to all spaces. + * Repair: Examples of repair include respecting the spirit of the suspension, meeting the specified conditions for return, and being thoughtful about how to reintegrate with the community when the suspension is lifted. - 4. Permanent Ban - * Event: A pattern of repeated code of conduct violations that other steps on the ladder have failed to resolve, or a violation so serious that the Response Team determines there is no way to keep the community safe with this person as a member. - * Consequence: Access to all community spaces, tools, and communication channels is removed. In general, permanent bans should be rarely used, should have strong reasoning behind them, and should only be resorted to if working through other remedies has failed to change the behavior. - * Repair: There is no possible repair in cases of this severity. +4. Permanent Ban + * Event: A pattern of repeated code of conduct violations that other steps on the ladder have failed to resolve, or a violation so serious that the Response Team determines there is no way to keep the community safe with this person as a member. + * Consequence: Access to all community spaces, tools, and communication channels is removed. In general, permanent bans should be rarely used, should have strong reasoning behind them, and should only be resorted to if working through other remedies has failed to change the behavior. + * Repair: There is no possible repair in cases of this severity. This enforcement ladder is intended as a guideline. It does not limit the ability of Community Managers to use their discretion and judgment, in keeping with the best interests of our community. @@ -131,6 +131,7 @@ This Code of Conduct applies within all community spaces, including GitHub, the Behavior outside of official BeeWare spaces may also be considered as supporting evidence for a report if that behavior establishes a pattern, or represents a potential risk to the BeeWare community. This Code of Conduct operates in parallel to any Code of Conduct that is in effect in a given context (e.g., the Code of Conduct for a conference). If an incident occurs, we encourage reporting that incident to all relevant conduct groups. Known violations of other Codes of Conduct may be considered as supporting evidence for a report under this Code of Conduct. The BeeWare Code of Conduct Response Team will cooperate with other Code of Conduct teams, but will not disclose any identifying details without the prior consent of the reporting party. + ## Attribution This Code of Conduct is adapted from the Contributor Covenant, version 3.0, permanently available at [https://www.contributor-covenant.org/version/3/0/](https://www.contributor-covenant.org/version/3/0/). @@ -143,8 +144,8 @@ For answers to common questions about Contributor Covenant, see the [FAQ](https: Major substantive changes are listed here; for a complete list of changes see the GitHub commit history. - * **December 15, 2025:** Updated to adapt the Contributor Covenant, version 3.0, with some modifications for BeeWare-specific guidelines and procedures. +* **December 15, 2025:** Updated to adapt the Contributor Covenant, version 3.0, with some modifications for BeeWare-specific guidelines and procedures. - * **July 4, 2016:** Added instructions and guidelines for reporting incidents. +* **July 4, 2016:** Added instructions and guidelines for reporting incidents. - * **December 5, 2015:** Initial Code of Conduct adopted. +* **December 5, 2015:** Initial Code of Conduct adopted. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0f067d2..92d1144 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,73 +1,44 @@ # All Contributions Welcome -It's not just about code. A successful software project requires documentation, -design skills, feedback and bug reports. The BeeWare community acknowledges -that all contributions are important - not just the ones that come as a pull -request on GitHub. +It's not just about code. A successful software project requires documentation, design skills, feedback and bug reports. The BeeWare community acknowledges that all contributions are important - not just the ones that come as a pull request on GitHub. ## First-time Contributors -If you're new to the project (or even entirely new to open source in general), -the best place to start is -[here](https://beeware.org/contributing/how/first-time/). Everyone can -contribute to open source, and we're here to show you how. +If you're new to the project (or even entirely new to open source in general), the best place to start is with our [first-time contributors guide](https://beeware.org/contributing/how/first-time/). Everyone can contribute to open source, and we're here to show you how. ## Code Contributions -Your code contributions are welcome! Please familiarize yourself with our -[Development Process](https://beeware.org/contributing/how/process/). +Your code contributions are welcome! Please familiarize yourself with our [Development Process](https://beeware.org/contributing/how/process/). + +If you're looking for something to work on, and don't know where your effort would be welcome, try looking at the ticket tracker for a project of interest. There will usually be a couple of tickets with known problems; any ticket is a candidate for being fixed. Some tickets in particular will be tagged [up-for-grabs](https://github.com/search?q=user%3Abeeware+label%3Aup-for-grabs+is%3Aissue+is%3Aopen&type=) -If you're looking for something to work on, and don't know where your effort -would be welcome, try looking at the ticket tracker for a project of interest. -There will usually be a couple of tickets with known problems; any ticket is a -candidate for being fixed. Some tickets in particular will be tagged -[up-for-grabs](https://github.com/search?q=user%3Abeeware+label%3Aup-for-grabs+is%3Aissue+is%3Aopen&type=) - this indicates that they are areas of particular interest where the project would like contributions. -If you're a first time contributor, some tickets are also tagged as -[first-timers-only](https://github.com/search?q=user%3Abeeware+label%3Afirst-timers-only+is%3Aissue+is%3Aopen&type=). -These are special issues that have been selected because they're relatively -simple introductions to the project, and the BeeWare team will mentor any first -time contributor in committing a patch for one of these issues. +If you're a first time contributor, some tickets are also tagged as [first-timers-only](https://github.com/search?q=user%3Abeeware+label%3Afirst-timers-only+is%3Aissue+is%3Aopen&type=). These are special issues that have been selected because they're relatively simple introductions to the project, and the BeeWare team will mentor any first time contributor in committing a patch for one of these issues. ## Platform Usage -Do you use Windows or various flavours of Linux? Are you able to install a -project or application on your system? Did you run into any problems? +Do you use Windows or various flavours of Linux? Are you able to install a project or application on your system? Did you run into any problems? -If so, please update the documentation to show how you were able to get it to -work, or log an issue if you've found a bug that you can't fix. +If so, please update the documentation to show how you were able to get it to work, or log an issue if you've found a bug that you can't fix. ## Documentation -Is the documentation up to date? Do you think things could be worded -differently? Are there missing sections? Do you have an idea for a tutorial -that could be written? Please submit a Pull Request! +Is the documentation up to date? Do you think things could be worded differently? Are there missing sections? Do you have an idea for a tutorial that could be written? Please submit a Pull Request! ## Help translate and update our Website -Is there anything wrong or missing from our website? Please feel free to make -edits and submit a pull request! +Is there anything wrong or missing from our website? Please feel free to make edits and submit a pull request! -Want to help translate or update the content of this website? Visit the -translations section. +Want to help translate or update the content of this website? Visit the translations section. ## Build a real application! -Ultimately BeeWare is a set of tools for building applications. One of the best -ways to evaluate our progress is to see people build real-world applications -with the BeeWare tools. So if you've got an idea for an application you've -always wanted or needed - try to build it! +Ultimately BeeWare is a set of tools for building applications. One of the best ways to evaluate our progress is to see people build real-world applications with the BeeWare tools. So if you've got an idea for an application you've always wanted or needed - try to build it! -In the process of building that application, you'll likely find bugs, missing -features, or friction in the development process. Those problems can then be -turned into bug reports or patches. +In the process of building that application, you'll likely find bugs, missing features, or friction in the development process. Those problems can then be turned into bug reports or patches. ## Something else -If you've got your own idea for something, or if you don't see any tickets, or -you want to be mentored on a ticket, or you aren't sure how to proceed, contact -the project maintainers on Twitter or Discord. The project maintainers love -collaborating, especially with new contributors, and will gladly answer any -questions or walk you through any problems you may encounter. +If you've got your own idea for something, or if you don't see any tickets, or you want to be mentored on a ticket, or you aren't sure how to proceed, contact the project maintainers on Twitter or Discord. The project maintainers love collaborating, especially with new contributors, and will gladly answer any questions or walk you through any problems you may encounter. diff --git a/README.md b/README.md index f928682..74dc359 100644 --- a/README.md +++ b/README.md @@ -2,5 +2,4 @@ ![BeeWare Logo](https://beeware.org/static/images/brutus-270.png) -These are the GitHub Community Health files for the [BeeWare -Project](https://beeware.org). +These are the GitHub Community Health files for the [BeeWare Project](https://beeware.org). diff --git a/SECURITY.md b/SECURITY.md index 66f416e..eeb84c5 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,30 +1,17 @@ # Security Policy -The BeeWare Projects team is strongly committed to responsible reporting and -disclosure of security-related issues. As such, we’ve adopted and follow a set -of policies which conform to that ideal and are geared toward allowing us to -deliver timely security updates to the official distribution of BeeWare tools, -as well as to third-party distributions. +The BeeWare Projects team is strongly committed to responsible reporting and disclosure of security-related issues. As such, we’ve adopted and follow a set of policies which conform to that ideal and are geared toward allowing us to deliver timely security updates to the official distribution of BeeWare tools, as well as to third-party distributions. ## Reporting security issues -Short version: please report security issues by emailing -[security@beeware.org](mailto:security@beeware.org). +Short version: please report security issues by emailing [security@beeware.org](mailto:security@beeware.org). -Most normal bugs in BeeWare are reported to our public Github issue trackers, -but due to the sensitive nature of security issues, we ask that they not be -publicly reported in this fashion. +Most normal bugs in BeeWare are reported to our public Github issue trackers, but due to the sensitive nature of security issues, we ask that they not be publicly reported in this fashion. -Instead, if you believe you’ve found something in BeeWare which has security -implications, please send a description of the issue via email to -[security@beeware.org](mailto:security@beeware.org). Mail sent to that address -reaches the security team. +Instead, if you believe you’ve found something in BeeWare which has security implications, please send a description of the issue via email to [security@beeware.org](mailto:security@beeware.org). Mail sent to that address reaches the security team. -Once you’ve submitted an issue via email, you should receive an acknowledgment -from a member of the security team within 48 hours, and depending on the action -to be taken, you may receive further followup emails. +Once you’ve submitted an issue via email, you should receive an acknowledgment from a member of the security team within 48 hours, and depending on the action to be taken, you may receive further followup emails. ## Supported versions -At present, the BeeWare team is only committed to providing security updates -to the most recently released versions of our tools. +At present, the BeeWare team is only committed to providing security updates to the most recently released versions of our tools. diff --git a/SUPPORT.md b/SUPPORT.md index 7970e29..ca2ee54 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -1,14 +1,9 @@ # Support policy -The BeeWare Project is in the early stages of development. As such, it is still -in rapid development. While we endeavour to minimize backwards compatibility -problems, we make no guarantees at this time. +The BeeWare Project is in the early stages of development. As such, it is still in rapid development. While we endeavour to minimize backwards compatibility problems, we make no guarantees at this time. -As each project in the BeeWare suite of tools and libraries reach a point of -stability, we will increment its version number to 1.0. At that point, we will -introduce a formal backwards compatibility and support policy. +As each project in the BeeWare suite of tools and libraries reach a point of stability, we will increment its version number to 1.0. At that point, we will introduce a formal backwards compatibility and support policy. -## Python Version support. +## Python Version support -We support Python 3.8 and above. Support for pre-release versions of Python is -not guaranteed. +We support all Python versions that have "bugfix" or "security" status [in Python's own version support policy](https://devguide.python.org/versions/). Support for "feature" and "pre-release" versions of Python is not guaranteed. diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..5d3d424 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,14 @@ +[tool.rumdl] +exclude = [".github/*.md"] +respect-gitignore = true + +# MD033: No inline HTML - Used in CoC for header anchors. +disable = ["MD033"] + +[tool.rumdl.MD013] # Line length +line_length = 999999 +reflow = true +reflow_mode = "normalize" + +[tool.rumdl.MD026] # Remove punctuation at the end of headings +punctuation = ",;:"