Skip to content

Package Structure & Configuration Setup #11

@CallMarcus

Description

@CallMarcus

Phase 1: Package Structure & Configuration

Convert the current script-based structure to a proper Python package suitable for PyPI distribution.

Tasks:

  • Create domain_security_analyzer/ package directory
  • Add __init__.py files for proper module structure
  • Move domain_analyzer.py to domain_security_analyzer/analyzer.py
  • Create domain_security_analyzer/__main__.py for CLI entry point
  • Set up domain_security_analyzer/__version__.py for version management
  • Create modern pyproject.toml configuration file
  • Add MANIFEST.in to include documentation and data files
  • Update requirements.txt with pinned versions for stability

Package Structure:

domain-security-analyzer/
├── domain_security_analyzer/
│   ├── __init__.py
│   ├── __main__.py
│   ├── __version__.py
│   ├── analyzer.py (main logic)
│   └── cli.py (command line interface)
├── scripts/
│   └── parked_domain_csv.py
├── docs/
├── pyproject.toml
├── MANIFEST.in
├── requirements.txt
└── README.md

CLI Entry Point:

  • Package should be installable with: pip install domain-security-analyzer
  • CLI accessible via: domain-analyzer --help
  • Python module usage: python -m domain_security_analyzer

Acceptance Criteria:

  • Package can be imported: from domain_security_analyzer import DomainAnalyzer
  • CLI works via entry point: domain-analyzer examples/domains.txt output.csv
  • All current functionality preserved (SRI scanning, DNS analysis, etc.)
  • Tests pass with new structure
  • Local installation works: pip install -e .

Priority: High - Blocks all other PyPI release tasks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions