Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
78b565e
Update gitignore for Python and secrets
KiMiGuel Jun 25, 2026
7a7d6af
Add MeXiCOSINT launcher
KiMiGuel Jun 25, 2026
449f334
Update README.md
KiMiGuel Jun 25, 2026
845ea9d
Update README.md
KiMiGuel Jun 25, 2026
68ab83e
Update INSTALL.md
KiMiGuel Jun 25, 2026
635d5c6
Update USAGE.md
KiMiGuel Jun 25, 2026
74a55bd
Update CONFIG.md
KiMiGuel Jun 25, 2026
f7c50bc
ENGLISH.md
KiMiGuel Jun 25, 2026
c687c00
Refactor into installable Python package
KiMiGuel Jul 10, 2026
483b441
feat(cli): add argparse run entry point
KiMiGuel Jul 10, 2026
0d25322
feat(build): add package CLI entry point
KiMiGuel Jul 10, 2026
7111a06
chore(cli): route module execution through run
KiMiGuel Jul 10, 2026
46fd6ba
chore(deps): define runtime requirements
KiMiGuel Jul 10, 2026
c1593bd
refactor(modules): keep parser compatible with Python 3.8
KiMiGuel Jul 10, 2026
aaa1e29
refactor(modules): preserve local parser behavior
KiMiGuel Jul 10, 2026
6d6be83
chore(cli): remove legacy shell launcher
KiMiGuel Jul 10, 2026
27b7d26
chore(git): ignore local secrets and generated files
KiMiGuel Jul 10, 2026
4801e5f
docs(readme): document package install and CLI usage
KiMiGuel Jul 10, 2026
fe92917
docs(migration): explain package structure changes
KiMiGuel Jul 10, 2026
185c035
docs(install): use editable package install
KiMiGuel Jul 10, 2026
07dacbb
docs(usage): document mexicosint command
KiMiGuel Jul 10, 2026
062a347
docs(config): align config keys with package CLI
KiMiGuel Jul 10, 2026
70a46c2
ci(publish): add PyPI release workflow
KiMiGuel Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Publish to PyPI

on:
push:
tags:
- "v*"

jobs:
build-and-publish:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install build tools
run: |
python -m pip install --upgrade pip
pip install build twine

- name: Build package
run: python -m build

- name: Publish to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: twine upload dist/*
51 changes: 48 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,51 @@
# Python cache
__pycache__/
*.py[cod]
*$py.class

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

# Python build files
build/
dist/
*.egg-info/
.eggs/

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Local config / API keys
.env
__pycache__/
*.pyc
*.env
.mx_osint_config.json
config.json
secrets.json
keys.json
tokens.json
credentials.json
*.local.json
*.config.json
*.key
*.pem

# OS files
.DS_Store
Thumbs.db

# Reports / generated output
reports/
output/
data/
results/
*.log
*.html

# IDE/editor files
.vscode/
.idea/
*.swp
*.swo
73 changes: 73 additions & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Migration Instructions

MeXiCOSINT now uses a production-style `src/` package layout and an installable console command.

## What changed

- The versioned script was replaced by `src/mexicosint/main.py`.
- The command-line interface lives in `src/mexicosint/cli.py`.
- The package entry point is `mexicosint = mexicosint.cli:run` in `pyproject.toml`.
- Existing helper modules live in `src/mexicosint/modules/`.
- Service-facing wrappers live in `src/mexicosint/services/`.
- Shared helpers live in `src/mexicosint/utils/`.
- Local IFT data lives in `src/mexicosint/data/` so it can be packaged.
- The legacy `bin/mexicosint` shell launcher was removed; use the installed `mexicosint` command instead.

## Install for development

```bash
python3 -m venv venv
source venv/bin/activate
pip install -e .
```

Optional explicit dependency install for development:

```bash
pip install -r requirements.txt
```

## Run after migration

Use the installed command:

```bash
mexicosint --number 5512345678
mexicosint --number +525512345678
mexicosint --ip 8.8.8.8
mexicosint --dummy-test --number 5512345678
mexicosint -b --number 5512345678
```

The positional number form remains available for compatibility:

```bash
mexicosint 5512345678
```

Run without installing:

```bash
PYTHONPATH=src python3 -m mexicosint --number 5512345678
```

## Import changes

Use absolute package imports:

```python
from mexicosint.modules.local_parser import parse_mx_number
from mexicosint.modules.ift_sns import consultar
from mexicosint.modules.quienhabla import consultar as consultar_quienhabla
from mexicosint.services.scanner import run_phone_scan
```

## Safe migration steps

1. Create a branch before changing structure.
2. Move source files under `src/mexicosint/`.
3. Convert script execution to `src/mexicosint/cli.py` and `src/mexicosint/main.py`.
4. Configure `pyproject.toml` with the `mexicosint` console script.
5. Install with `pip install -e .` in a virtual environment.
6. Run `mexicosint --number 5512345678` and `PYTHONPATH=src python3 -m mexicosint --number 5512345678`.
7. Remove references to legacy shell launchers from docs and scripts.
Loading