Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
b92fe08
Bump numpy from 2.4.0 to 2.4.1
mubashirismail07-rgb Apr 20, 2026
11b1e7f
Modernize batch_file_rename with pathlib and add dry-run feature
Apr 26, 2026
af56812
Address CodeRabbit review: narrow exception types, route errors to st…
Apr 26, 2026
66fbb2d
negative numbers sum
YT116 May 20, 2026
674dfc8
Update Python workflow to use matrix strategy and improve checks
May 26, 2026
801e904
Enhance project structure: update .gitignore, add development guide, …
May 26, 2026
f9869cf
Improve game scheduling interface and validation
BananaDevfr Jun 2, 2026
3b61cca
Import tkinter as tk in notepad_support.py
L0oop1 Jun 6, 2026
614ec7b
fix: user venv files cause error when use local venv
NitkarshChourasia Jun 20, 2026
074a085
update: cat unix like command
NitkarshChourasia Jun 20, 2026
f2278c4
Merge pull request #3186 from NitkarshChourasia/master
geekcomputers Jun 27, 2026
f06b489
Merge pull request #3187 from NitkarshChourasia/clean-cat-branch
geekcomputers Jun 27, 2026
a2a6118
Merge pull request #3181 from L0oop1/patch-1
geekcomputers Jun 27, 2026
dccbec2
Merge pull request #3180 from BananaDevfr/patch-1
geekcomputers Jun 27, 2026
705359b
Merge pull request #3177 from jayendra08/master
geekcomputers Jun 27, 2026
0341b80
Merge pull request #3176 from LAbhilashKumar/master
geekcomputers Jun 27, 2026
8694291
Merge pull request #3174 from SantanDon/improve-batch-rename
geekcomputers Jun 27, 2026
bfd7138
Merge pull request #3172 from mubashirismail07-rgb/bump-numpy-version
geekcomputers Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Bug Report
about: Create a report to help us improve
title: "[BUG] "
labels: bug
assignees: ''

---

## Describe the Bug
A clear and concise description of what the bug is.

## To Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Run '...'
3. See error

## Expected Behavior
A clear and concise description of what you expected to happen.

## Actual Behavior
What actually happened instead.

## Environment
- Python Version: [e.g. 3.11.0]
- OS: [e.g. Ubuntu 22.04, Windows 11]
- Script Name: [e.g. myScript.py]

## Screenshots
If applicable, add screenshots or error messages.

## Additional Context
Add any other context about the problem here.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Feature Request
about: Suggest an idea for this project
title: "[FEATURE] "
labels: enhancement
assignees: ''

---

## Is your feature request related to a problem?
A clear and concise description of what the problem is.

## Describe the Solution
A clear and concise description of what you want to happen.

## Describe Alternatives
A clear and concise description of any alternative solutions or features you've considered.

## Additional Context
Add any other context or screenshots about the feature request here.

## Complexity
- [ ] Simple (< 50 lines)
- [ ] Medium (50-200 lines)
- [ ] Complex (> 200 lines)
29 changes: 29 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
## Description
Please include a summary of the changes and related context. Explain the problem you're solving or feature you're adding.

## Type of Change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation update
- [ ] Code cleanup/refactoring

## Related Issues
Closes #(issue number)

## Testing
Please describe the tests you've run to verify your changes:
- [ ] Manual testing
- [ ] Added automated tests
- [ ] Existing tests pass

## Checklist
- [ ] My code follows the project's code style
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have updated the README.md if needed
- [ ] My changes generate no new warnings
- [ ] I have tested my code locally
- [ ] New and existing tests pass with my changes

## Screenshots (if applicable)
Add screenshots or demos of your changes if relevant.
15 changes: 9 additions & 6 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,34 @@ concurrency:
jobs:
Test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12']
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: '3.14.0'
python-version: ${{ matrix.python-version }}

- name: Install all dependencies and tools
run: |
python -m pip install --upgrade pip
pip install ruff bandit mypy pytest codespell requests-mock colorama

- name: Run Codespell check
run: codespell --skip "*.json,*.txt,*.pdf" || true
run: codespell --skip "*.json,*.txt,*.pdf,*.md" || true

- name: Run Bandit security scan
run: bandit -r . --skip B101,B105 || true
run: bandit -r . --skip B101,B105 -ll || true

- name: Run Pytest tests
run: pytest || true
run: pytest --tb=short || true

- name: Run Ruff checks with ignored rules
run: ruff check . --ignore B904,B905,EM101,EXE001,G004,ISC001,PLC0415,PLC1901,PLW060,PLW1641,PLW2901,PT011,PT018,PT028,S101,S311,SIM905,SLF001,F405

- name: Run Mypy type checks
run: mypy . --ignore-missing-imports || true
run: mypy . --ignore-missing-imports --no-error-summary 2>/dev/null || true
76 changes: 56 additions & 20 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,25 +1,61 @@
.idea
*.pyc
string=sorted(input())
lower=""
even=""
odd=""
upper=""
for i in string:
if i.islower():
lower+=i
elif i.isupper():
upper+=i
elif int(i)%2==0:
even+=i
else:
odd+=i
print(lower+upper+odd+even)
# IDE
.idea/
.vscode/
*.swp
*.swo
*~
.DS_Store
Thumbs.db

.vscode
# Python
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
env/
.venv
venv/
ENV/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/

*.DS_Store
# Virtual environments
venv/
env/
ENV/

# Database files
*.db
*.sqlite
*.sqlite3

# OS files
.DS_Store
Thumbs.db
bankmanaging.db
desktop.ini

# Project specific
.mypy_cache/
.dmypy.json
dmypy.json
*.log
117 changes: 117 additions & 0 deletions Cat/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Python Cat

Author: Nitkarsh Chourasia

A small Python implementation of the Unix `cat` command. It reads text from files or standard input and writes the result to standard output.

## Usage

```powershell
python cat.py [options] [files...]
```

If no files are provided, the program reads from standard input.

## Basic Examples

Read one file:

```powershell
python cat.py text_a.txt
```

Read multiple files in order:

```powershell
python cat.py text_a.txt text_b.txt text_c.txt
```

Read from standard input:

```powershell
Get-Content text_a.txt | python cat.py
```

Use `-` to read standard input between files:

```powershell
Get-Content text_b.txt | python cat.py text_a.txt - text_c.txt
```

## Options

Number all lines:

```powershell
python cat.py -n text_a.txt
```

Number only non-empty lines:

```powershell
python cat.py -b text_a.txt
```

Squeeze repeated blank lines:

```powershell
python cat.py -s text_a.txt
```

Show line endings with `$`:

```powershell
python cat.py -E text_a.txt
```

Combine options:

```powershell
python cat.py -n -E text_a.txt
```

```powershell
python cat.py -b -s text_a.txt text_b.txt
```

## Error Handling

If a file cannot be read, the error is printed to standard error and the program continues with the next file.

```powershell
python cat.py text_a.txt missing.txt text_b.txt
```

The program exits with:

- `0` when all input is processed successfully
- `1` when one or more files cannot be read

## Test Cases

Run the automated test suite:

```powershell
python -m unittest test_cat.py
```

The tests cover:

- reading one file
- reading multiple files in order
- reading from standard input
- using `-` for standard input between files
- continuing after a missing file
- `-n` line numbering
- `-b` non-empty line numbering
- `-b` priority over `-n`
- `-s` repeated blank-line squeezing
- `-E` visible line endings
- combined options

## Design Notes

- Files are processed one at a time instead of loading everything into memory.
- `sys.stdin` and opened files are both treated as streams.
- Line numbering continues across multiple files.
- `-b` takes priority over `-n` when both are used.
Loading
Loading