added pythong linting using flake8
This commit is contained in:
11
.flake8
Normal file
11
.flake8
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[flake8]
|
||||||
|
max-line-length = 79 # PEP8 recommends 79, but you can adjust this
|
||||||
|
exclude =
|
||||||
|
venv, # Ignore your virtual environment
|
||||||
|
.git, # Ignore Git files
|
||||||
|
__pycache__, # Ignore Python cache
|
||||||
|
|
||||||
|
ignore =
|
||||||
|
E203, # Ignore specific errors (customize as needed)
|
||||||
|
W503 # Ignore line break before binary operator
|
||||||
|
|
||||||
31
.github/workflows/lint.yml
vendored
Normal file
31
.github/workflows/lint.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
name: Python Linting
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '**' # Match all branches
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '**' # Match all branches
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '3.x'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m venv venv # Create a virtual environment in the project root
|
||||||
|
./venv/bin/pip install -r requirements.txt # Install dependencies from requirements.txt
|
||||||
|
|
||||||
|
- name: Run Flake8
|
||||||
|
run: |
|
||||||
|
./venv/bin/flake8 . --config=.flake8 # Run flake8 using the configuration in .flake8
|
||||||
65
idealstructure.md
Normal file
65
idealstructure.md
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
To maintain a clean and organized GitHub repository structure, particularly with multiple documentation files, it’s essential to have a structured hierarchy. Here’s a layout that will keep your project files organized and accessible for contributors:
|
||||||
|
|
||||||
|
### Suggested Repository Structure
|
||||||
|
|
||||||
|
```plaintext
|
||||||
|
MidasTechnologies/
|
||||||
|
├── .github/ # GitHub-specific files
|
||||||
|
│ ├── ISSUE_TEMPLATE/ # GitHub issue templates
|
||||||
|
│ ├── PULL_REQUEST_TEMPLATE.md # Pull request template
|
||||||
|
│ └── workflows/ # CI/CD workflow files
|
||||||
|
│ └── ci.yml # Example CI configuration (e.g., GitHub Actions)
|
||||||
|
├── docs/ # Documentation directory
|
||||||
|
│ ├── README.md # Overview of documentation contents
|
||||||
|
│ ├── setup/ # Setup-related docs
|
||||||
|
│ │ ├── installation.md # Installation instructions
|
||||||
|
│ │ └── configuration.md # Configuring the environment or application
|
||||||
|
│ ├── guides/ # Guide files for team collaboration
|
||||||
|
│ │ ├── branching.md # Branching strategy guide (from previous step)
|
||||||
|
│ │ ├── code_style.md # Code style and formatting standards
|
||||||
|
│ │ ├── contributing.md # Contribution guidelines
|
||||||
|
│ │ └── testing.md # Testing and CI/CD setup guide
|
||||||
|
│ ├── reference/ # Technical references or design documentation
|
||||||
|
│ │ ├── architecture.md # Project architecture
|
||||||
|
│ │ └── data_structures.md # Key data structures and algorithms used
|
||||||
|
│ └── API/ # API documentation, if applicable
|
||||||
|
│ └── api_overview.md # Overview of APIs used or exposed by the project
|
||||||
|
├── src/ # Source code directory
|
||||||
|
│ ├── main/ # Main branch source code
|
||||||
|
│ └── dev/ # Development branch source code
|
||||||
|
├── tests/ # Testing suite and files
|
||||||
|
│ ├── unit/ # Unit tests
|
||||||
|
│ ├── integration/ # Integration tests
|
||||||
|
│ └── README.md # Overview of testing guidelines
|
||||||
|
├── .gitignore # Git ignore file
|
||||||
|
├── LICENSE # License file for the repository
|
||||||
|
└── README.md # Main README for the repository
|
||||||
|
```
|
||||||
|
|
||||||
|
### Directory Explanation
|
||||||
|
|
||||||
|
1. **`.github/`:** Contains GitHub-specific configuration files, such as issue and pull request templates, as well as workflows for automated testing and CI/CD.
|
||||||
|
|
||||||
|
2. **`docs/`:** All documentation files, organized into meaningful subdirectories.
|
||||||
|
- **`setup/`:** For setup-related documentation like installation, configuration, and environment setup.
|
||||||
|
- **`guides/`:** Team collaboration guides, including the branching guide, contribution guidelines, and code style documents.
|
||||||
|
- **`reference/`:** More technical references, project architecture, and specific implementations for future reference.
|
||||||
|
- **`API/`:** Documentation for APIs if your project has them.
|
||||||
|
|
||||||
|
3. **`src/`:** Contains all source code, organized into the `main` and `dev` branches or modules if needed.
|
||||||
|
|
||||||
|
4. **`tests/`:** For all testing-related files, including subdirectories for unit and integration tests, plus a README outlining test protocols.
|
||||||
|
|
||||||
|
5. **Project Root Files:**
|
||||||
|
- **`.gitignore`:** For files and directories to ignore in the repository.
|
||||||
|
- **`LICENSE`:** Licensing information for the repository.
|
||||||
|
- **`README.md`:** Main project overview, including how to get started, major features, and basic setup steps.
|
||||||
|
|
||||||
|
### Additional Tips
|
||||||
|
|
||||||
|
- **Keep Documentation Centralized:** The `docs/` directory keeps all documentation in one place, easy to locate and update.
|
||||||
|
- **Standardize Documentation Files:** Use markdown (`.md`) for all documentation to ensure readability on GitHub and other markdown-rendering platforms.
|
||||||
|
- **Use Templates in `.github/`:** Issue and pull request templates help streamline contributions and feedback.
|
||||||
|
- **README.md Clarity:** The main README file should serve as a quick start guide and overview for the repository. This document should also link to relevant documentation files within `docs/`.
|
||||||
|
|
||||||
|
This structure will make the repository accessible and organized, simplifying onboarding, documentation, and collaboration among team members.
|
||||||
30
requirements.txt
Normal file
30
requirements.txt
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
attrs==24.2.0
|
||||||
|
beautifulsoup4==4.12.3
|
||||||
|
certifi==2024.8.30
|
||||||
|
charset-normalizer==3.4.0
|
||||||
|
flake8==7.1.1
|
||||||
|
h11==0.14.0
|
||||||
|
idna==3.10
|
||||||
|
mccabe==0.7.0
|
||||||
|
numpy==2.1.2
|
||||||
|
outcome==1.3.0.post0
|
||||||
|
pandas==2.2.3
|
||||||
|
pycodestyle==2.12.1
|
||||||
|
pyflakes==3.2.0
|
||||||
|
PySocks==1.7.1
|
||||||
|
python-dateutil==2.9.0.post0
|
||||||
|
pytz==2024.2
|
||||||
|
requests==2.32.3
|
||||||
|
selenium==4.25.0
|
||||||
|
six==1.16.0
|
||||||
|
sniffio==1.3.1
|
||||||
|
sortedcontainers==2.4.0
|
||||||
|
soupsieve==2.6
|
||||||
|
tqdm==4.66.6
|
||||||
|
trio==0.27.0
|
||||||
|
trio-websocket==0.11.1
|
||||||
|
typing_extensions==4.12.2
|
||||||
|
tzdata==2024.2
|
||||||
|
urllib3==2.2.3
|
||||||
|
websocket-client==1.8.0
|
||||||
|
wsproto==1.2.0
|
||||||
Reference in New Issue
Block a user