Skip to content

Commit 4bdfd0b

Browse files
authored
Merge pull request #122 from hbisneto/stage
FileSystemPro 3.0.0.0
2 parents c2bf863 + 96ea829 commit 4bdfd0b

36 files changed

+5999
-1916
lines changed

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
app.py
2-
31
# Byte-compiled / optimized / DLL files
42
__pycache__/
53
*.py[cod]

CODE_OF_CONDUCT.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
We pledge to act and speak in a way that makes a safe, welcoming, and inclusive community for all.
8+
9+
## Our Standards
10+
11+
Examples of behavior that contributes to a positive environment for our community include:
12+
13+
* Demonstrating empathy and kindness toward other people
14+
* Being respectful of differing opinions, viewpoints, and experiences
15+
* Giving and gracefully accepting constructive feedback
16+
* Accepting responsibility for our own speech and our own actions
17+
* Participating in every discussion and decision of our community, either:
18+
19+
* Positively contributing, or without disrupting the conversation
20+
* Choosing to politely excuse ourselves from conversations
21+
22+
* Focusing on what is best not just for us as individuals, but for the
23+
overall community and the project
24+
25+
Examples of unacceptable behavior include:
26+
27+
* The use of sexualized language or imagery, and sexual attention or
28+
advances of any kind
29+
* Trolling, insulting or derogatory comments, and personal or political attacks
30+
* Public or private harassment
31+
* Publishing others' private information, such as a physical or email
32+
address, without their explicit permission
33+
* Other conduct which could reasonably be considered inappropriate in a
34+
professional setting
35+
36+
## Enforcement Responsibilities
37+
38+
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
39+
40+
Community leaders 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, and will communicate reasons for moderation decisions when appropriate.
41+
42+
## Scope
43+
44+
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
45+
46+
## Enforcement
47+
48+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [[email protected]](mailto:[email protected]). All complaints will be reviewed and investigated promptly and fairly.
49+
50+
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
51+
52+
## Enforcement Guidelines
53+
54+
Community leaders are responsible for enforcing the Code of Conduct. They will follow our [enforcement guidelines](https://github.com/hbisneto/FileSystemPro/blob/main/ENFORCEMENT.md) which include:
55+
56+
- **Documenting Incidents**: Log all reports and actions taken.
57+
- **Confidentiality**: Keep reports private unless explicit permission.
58+
- **Escalation**: For severe cases, involve legal counsel or authorities if needed.
59+
- **No Retaliation**: Protect reporters from backlash.
60+
- **Appeals**: Allow moderated parties to appeal decisions.
61+
62+
## Attribution
63+
64+
This Code of Conduct is adapted from the [Contributor Covenant, version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/), available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
65+
66+
Specific customizations for FileSystemPro:
67+
68+
- Contact email: [[email protected]](mailto:[email protected]) for reports.
69+
- Enforcement link: Points to a custom [ENFORCEMENT.md](https://github.com/hbisneto/FileSystemPro/blob/main/ENFORCEMENT.md) (create this if needed for detailed procedures).
70+
71+
Community Impact Guidelines were created by [Molly de Blanc](https://github.com/mollydb) and adapted from the [Citizen Code of Conduct](https://github.com/stumpsyn/policies/blob/master/citizen_code_of_conduct.md) by Richard Matthew Cornwell.
72+
73+
For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

CONTRIBUTING.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Contributing to FileSystemPro
2+
3+
Thank you for considering contributing to **FileSystemPro**! We appreciate your interest in improving this cross-platform file system toolkit. Whether it's fixing bugs, adding features, enhancing documentation, or refining code, your contributions help make the library more robust and user-friendly.
4+
5+
Before starting, please read this guide to understand our contribution process. By participating, you agree to abide by our [Code of Conduct](https://github.com/hbisneto/FileSystemPro/blob/main/CODE_OF_CONDUCT.md).
6+
7+
## Code of Conduct
8+
9+
We follow the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/). All contributors are expected to uphold this standard. If you encounter issues, contact us at [[email protected]](mailto:[email protected]) or via GitHub issues.
10+
11+
## Ways to Contribute
12+
13+
We welcome all kinds of contributions! Here are some ideas:
14+
15+
- **Bug Reports**: Found an issue? [Open an issue](https://github.com/hbisneto/FileSystemPro/issues/new) with a clear description, steps to reproduce, and environment details (OS, Python version, `psutil` if used).
16+
- **Feature Requests**: Have an idea? [Suggest it here](https://github.com/hbisneto/FileSystemPro/issues/new?template=feature_request.md). Include use cases and rationale.
17+
- **Documentation**: Typos, clarifications, or new examples? Edit READMEs or submodule docs directly via PR.
18+
- **Code**: Implement features, fix bugs, or refactor. See below for details.
19+
- **Tests**: Add or improve tests in `tests/`.
20+
- **Other**: Translations, performance benchmarks, or tooling scripts.
21+
22+
## Development Setup
23+
24+
1. **Fork and Clone**:
25+
26+
```bash
27+
git clone https://github.com/YOUR_USERNAME/FileSystemPro.git
28+
cd FileSystemPro
29+
git remote add upstream https://github.com/hbisneto/FileSystemPro.git
30+
```
31+
32+
2. **Virtual Environment**:
33+
34+
```bash
35+
python -m venv .venv
36+
source .venv/bin/activate # On Unix/macOS
37+
# Or: .venv\Scripts\activate # On Windows
38+
```
39+
40+
3. **Install Dependencies**:
41+
42+
```bash
43+
pip install -e .[dev] # Editable install + dev extras (pytest, black, flake8)
44+
pip install psutil # Optional, for device module
45+
```
46+
47+
4. **Verify Setup**:
48+
49+
```bash
50+
pytest tests/ # Run tests
51+
black --check . # Check formatting
52+
flake8 . # Lint
53+
```
54+
55+
## Coding Standards
56+
57+
- **Python Version**: Target 3.10+; test on 3.10, 3.12.
58+
- **Style Guide**: Follow [PEP 8](https://peps.python.org/pep-0008/). Use [Black](https://black.readthedocs.io/) for formatting:
59+
```bash
60+
black .
61+
```
62+
- **Linting**: [Flake8](https://flake8.pycqa.org/) for style checks:
63+
```bash
64+
flake8 .
65+
```
66+
- **Type Hints**: Use [mypy](https://mypy-lang.org/) where practical (not enforced yet).
67+
- **Docstrings**: [Google style](https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings) for functions/classes.
68+
- **Commit Messages**: Conventional commits (e.g., `feat: add network monitoring`).
69+
- **Branches**: Feature branches from `main` (e.g., `feat/new-module`).
70+
71+
## Making a Contribution
72+
73+
1. **Discuss First**: For non-trivial changes, open an issue to align on scope.
74+
75+
2. **Branch and Commit**:
76+
77+
```bash
78+
git checkout -b your-branch-name
79+
git add .
80+
git commit -m "feat: brief description"
81+
```
82+
83+
3. **Test Locally**:
84+
85+
- Run `pytest` to ensure no regressions.
86+
- Verify with examples from submodule READMEs.
87+
- Check cross-platform (e.g., via GitHub Actions or local VMs).
88+
89+
4. **Push and PR**:
90+
91+
```bash
92+
git push origin your-branch-name
93+
```
94+
- Open a Pull Request (PR) to `main`.
95+
- Reference related issues (e.g., "Fixes #123").
96+
- Include changelog entry if breaking (in `CHANGELOG.md`).
97+
98+
5. **Review and Merge**:
99+
100+
- Expect feedback; iterate as needed.
101+
- Once approved, merge via squash/rebase (maintain clean history).
102+
- Delete branch post-merge.
103+
104+
## Pull Request Guidelines
105+
106+
- **Title**: Clear and concise (e.g., "fix: resolve path resolution on Windows").
107+
- **Description**:
108+
- What/Why: Problem solved and motivation.
109+
- How: Key changes.
110+
- Tests: New/updated tests.
111+
- Docs: Updated READMEs/examples.
112+
- **Scope**: Small, focused PRs (<300 lines preferred).
113+
- **CI Checks**: Must pass (linting, tests); re-run if needed.
114+
115+
## Releasing
116+
117+
Releases are managed by maintainers:
118+
119+
- Bump version in `pyproject.toml`/`setup.py`.
120+
- Tag: `git tag vX.Y.Z`.
121+
- Push: `git push --tags`.
122+
- Upload to PyPI: `twine upload dist/*`.
123+
124+
## Questions?
125+
126+
- **Issues/PRs**: Use GitHub for tracking.
127+
- **Discussions**: [Start one](https://github.com/hbisneto/FileSystemPro/discussions/new) for ideas.
128+
- **Direct**: Email [[email protected]](mailto:[email protected]) or DM @BisnetoDev on X.
129+
130+
Thanks for contributing—we're excited to collaborate! 🚀

ENFORCEMENT.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Enforcement Guidelines for FileSystemPro
2+
3+
This document outlines the process for handling reports of Code of Conduct violations in the FileSystemPro community. Our goal is to create a safe, inclusive environment where all participants feel welcome. Enforcement is carried out by the project maintainers, and we commit to handling all reports promptly, fairly, and transparently.
4+
5+
## Reporting a Violation
6+
7+
If you experience or witness behavior that violates the [Code of Conduct](CODE_OF_CONDUCT.md), please report it immediately. Reports should be sent to the project maintainers via:
8+
9+
- **Email**: [[email protected]](mailto:[email protected])
10+
- **GitHub Issue**: Open a private issue marked as "Security" or "Confidential" (if sensitive).
11+
- **Direct Message**: DM @BisnetoDev on X (formerly Twitter) for urgent matters.
12+
13+
Your report should include:
14+
- The nature of the incident (what happened, when, where—e.g., GitHub issue, PR, discussion).
15+
- Involved parties (usernames/emails, without sharing private info).
16+
- Any supporting evidence (screenshots, links—redact sensitive data).
17+
- Impact on you or the community.
18+
19+
We will acknowledge your report within 48 hours and keep you updated on progress.
20+
21+
## Confidentiality
22+
23+
All reports are handled confidentially. We will not disclose your identity without explicit permission. Reports are shared only with other maintainers as needed for investigation. If the report involves a minor, we may involve appropriate authorities.
24+
25+
## Investigation Process
26+
27+
1. **Acknowledgment**: Confirm receipt and assure confidentiality.
28+
2. **Assessment**: Review the report against the Code of Conduct. If unclear, seek clarification.
29+
3. **Gathering Facts**: Collect additional context from involved parties (anonymously where possible). We may temporarily suspend actions (e.g., close issues) during review.
30+
4. **Decision**: Determine if a violation occurred and appropriate response (see below).
31+
5. **Resolution**: Implement actions and notify reporter/outcome (without violating privacy).
32+
6. **Follow-Up**: Check in with reporter post-resolution; update guidelines if patterns emerge.
33+
34+
Investigations aim to conclude within 7 days, but complex cases may take longer. Maintainers prioritize empathy and proportionality.
35+
36+
## Possible Responses
37+
38+
Responses are tailored to severity and context, focusing on harm reduction and education:
39+
40+
- **Warnings**: Private note to the individual, clarifying the issue and expected behavior.
41+
- **Temporary Restrictions**: Limit participation (e.g., comment muting, PR blocking) for 1-4 weeks.
42+
- **Permanent Bans**: Full exclusion from community spaces (e.g., repo access revoked).
43+
- **Escalation**: For severe cases (e.g., threats), involve law enforcement or GitHub support.
44+
45+
No retaliation against reporters—any such behavior is a separate violation.
46+
47+
## Appeals
48+
49+
If you believe an enforcement action was unfair, appeal within 7 days via the same channels. Provide new evidence or context. Appeals are reviewed by at least two maintainers; decisions are final.
50+
51+
## Maintainers' Responsibilities
52+
53+
- **Training**: All maintainers review this document annually.
54+
- **Logging**: Track reports/actions internally (anonymized) for transparency.
55+
- **Updates**: Revise guidelines based on community feedback; announce changes.
56+
57+
If you're a maintainer and need support, contact [[email protected]](mailto:[email protected]).
58+
59+
## Attribution
60+
61+
Adapted from the [Contributor Covenant Enforcement Guidelines](https://www.contributor-covenant.org/enforcement.html) and [Open Source Guide](https://opensource.guide/code-of-conduct/). Customizations for FileSystemPro include contact details and simplified processes.

0 commit comments

Comments
 (0)