A tool for analyzing RVTools data.
Project description
AVS RVTools Analyzer
AVS RVTools Analyzer is a Flask-based application for analyzing RVTools data. It provides insights into migration risks and allows users to explore the content of uploaded RVTools Excel files.
Features
- Upload RVTools Excel files for analysis.
- View detailed information about the contents of the uploaded files.
- Analyze migration risks based on the data in the files:
- USB devices
- Disks with migration risks
- Non dvSwitch network interfaces
- Snapshots
- Suspended VMs
- dvPort issues
- non Intel CPUs
- Mounted CD/DVD drives
- Oracle VMs
- Large provisioned disks
- VMs with high vCPU count
- VMs with high memory allocation
Installation and Usage
Prerequisites
Make sure you have uv installed:
# On Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# On macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Quick Start with uv
The fastest way to run the application is using uv's tool runner:
# Run directly from PyPI (latest published version)
uv tool run avs-rvtools-analyzer
# Or run from source (current development version)
uv run rvtools-analyzer
Development Setup
If you want to work on the code or contribute to the project:
# Clone the repository
git clone <repository-url>
cd rvtools-analyzer
# Install dependencies and run in development mode
uv sync --dev
uv run rvtools-analyzer
# Or activate the virtual environment
uv shell
rvtools-analyzer
Traditional Installation Methods
From PyPI
You can install RVTools Analyzer directly from PyPI:
# Using uv (recommended)
uv tool install avs-rvtools-analyzer
# Using pip
pip install avs-rvtools-analyzer
From Source
git clone <repository-url>
cd rvtools-analyzer
# Using uv (recommended)
uv build
uv tool install dist/avs_rvtools_analyzer-*.whl
# Using pip
pip install .
Development
Setting up the development environment
# Install development dependencies
uv sync --dev
# Run the application in development mode
uv run rvtools-analyzer
# Or activate the shell and run commands
uv shell
rvtools-analyzer
Code Quality Tools
This project uses several code quality tools that can be run with uv:
# Format code with black
uv run black rvtools_analyzer/ tests/
# Sort imports with isort
uv run isort rvtools_analyzer/ tests/
# Lint with flake8
uv run flake8 rvtools_analyzer/ tests/
# Type checking with mypy
uv run mypy rvtools_analyzer/
# Run all quality checks at once
uv run black . && uv run isort . && uv run flake8 . && uv run mypy .
Testing
# Run tests
uv run pytest
# Run tests with coverage
uv run pytest --cov=rvtools_analyzer
# Run tests in watch mode (if pytest-watch is installed)
uv add --dev pytest-watch
uv run ptw
Building and Publishing
# Build the package
uv build
# Publish to PyPI (requires authentication)
uv publish
Running the Application
Once installed, start the Flask application:
rvtools-analyzer
By default, the application will run on http://127.0.0.1:5000. Open this URL in your web browser to access the application.
Configuration
You can configure the application using environment variables:
FLASK_ENV: Set todevelopmentfor development modeFLASK_DEBUG: Set to1to enable debug modeFLASK_PORT: Change the port (default: 5000)FLASK_HOST: Change the host (default: 127.0.0.1)
Example:
# Using uv
FLASK_DEBUG=1 FLASK_PORT=8080 uv run rvtools-analyzer
# If installed as a tool
FLASK_DEBUG=1 FLASK_PORT=8080 rvtools-analyzer
Project Structure
rvtools-analyzer/
├── rvtools_analyzer/ # Main application package
│ ├── __init__.py # Package initialization
│ ├── main.py # Flask application and entry point
│ ├── static/ # Static assets (CSS, JS, JSON)
│ └── templates/ # Jinja2 templates
├── tests/ # Test suite
├── test-data/ # Sample test data
├── pyproject.toml # Project configuration and dependencies
├── README.md # This file
└── .gitignore # Git ignore rules
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and add tests
- Run the test suite:
uv run pytest - Run code quality checks:
uv run black . && uv run isort . && uv run flake8 . - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin feature-name - Submit a pull request
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avs_rvtools_analyzer-2025.8.1.tar.gz.
File metadata
- Download URL: avs_rvtools_analyzer-2025.8.1.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12ed0c6b0b2c955ce94f406b66e8da8e5068c49474f01b34fb8e7611697cb9e5
|
|
| MD5 |
547523803b1a727211f8bfb6a5ec9d61
|
|
| BLAKE2b-256 |
67d6a326adcbd06a5f1fe102e18f5e6dcd219fe769f8bb5d38208be6d435690b
|
File details
Details for the file avs_rvtools_analyzer-2025.8.1-py3-none-any.whl.
File metadata
- Download URL: avs_rvtools_analyzer-2025.8.1-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4010daa0aa3cd89b29a0c819a0271c2a54282d60023bfd71a17426cb170ee168
|
|
| MD5 |
2dfa3137410f839611f04bf9ec9d5045
|
|
| BLAKE2b-256 |
5f39ff166f5d897dc74f2b9efb0e85a30cea9ef29138afb6d2089f5a22271ee0
|