Skip to content

Move report deps to optional extras & update README#19

Merged
lewiswigmore merged 2 commits into
mainfrom
fix/optional-report-deps
Apr 12, 2026
Merged

Move report deps to optional extras & update README#19
lewiswigmore merged 2 commits into
mainfrom
fix/optional-report-deps

Conversation

@lewiswigmore

Copy link
Copy Markdown
Owner

Summary

Addresses #18 — slow pip install caused by plotly (~76 MB) being a core dependency.

Changes

Dependency optimisation:

  • Move plotly, pandas, and jinja2 from core dependencies to optional [report] extra
  • Base install drops from ~110 MB to ~15 MB
  • Users who need HTML reports install with: pip install virusxcheck[report]
  • Add graceful ImportError in html_reporter.py with clear install instructions
  • Update install message in virusxcheck.py

README enhancements for PyPI readiness:

  • Add GitHub badges (version, Python, license)
  • Add pip install virusxcheck as primary install method
  • Add Quick Start section
  • Update all usage examples to use virusxcheck CLI command
  • Add Contributing, Changelog, Security, and License sections

Testing

All 81 existing tests pass. Core import works without report dependencies.

Closes #18

lewiswigmore and others added 2 commits April 12, 2026 20:54
Move heavy report dependencies (plotly ~76MB, pandas, jinja2) from core
dependencies to an optional [report] extra in pyproject.toml. This reduces
base install size from ~110MB to ~15MB.

Users who need HTML reports can install with: pip install virusxcheck[report]

- Remove plotly from core dependencies and requirements.txt
- Add [report] optional extra with plotly, pandas, jinja2
- Add graceful ImportError in html_reporter.py with install instructions
- Update install message in virusxcheck.py
- Document optional report install in README.md

Closes #18

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add GitHub badges (version, Python versions, license)
- Add 'From PyPI' as primary install method with pip install virusxcheck
- Add 'From Source' section with git clone workflow
- Add Quick Start section for fast onboarding
- Update all usage examples to use virusxcheck CLI command
- Add Contributing, Changelog, Security, and License sections

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@lewiswigmore lewiswigmore force-pushed the fix/optional-report-deps branch from 800774c to e64ed5a Compare April 12, 2026 20:18
@lewiswigmore lewiswigmore merged commit 093d850 into main Apr 12, 2026
5 checks passed
@lewiswigmore lewiswigmore deleted the fix/optional-report-deps branch April 12, 2026 20:19
@lewiswigmore lewiswigmore changed the title Move report deps to optional extras & enhance README Move report deps to optional extras & update README Apr 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Slow pip install: move plotly/pandas/jinja2 to optional dependencies

1 participant