A professional Python package for creating beautiful visualizations with clean, object-oriented design.
- Clean Architecture: Object-oriented design with clear separation of concerns
- Multiple Chart Types: Support for radar charts, with more chart types coming soon
- Professional Theming: Built-in themes (default, dark, minimal, professional)
- Type Safety: Comprehensive constants system preventing typos and errors
- Easy Configuration: Centralized configuration management
- Extensible: Factory pattern for easy addition of new chart types
pip install reverievisimport pandas as pd
from reverievis import RadarChart
# Create sample data
data = pd.DataFrame({
'Category': ['A', 'B', 'C'],
'Speed': [80, 90, 70],
'Accuracy': [85, 75, 95],
'Efficiency': [90, 80, 85]
})
# Create and display chart
chart = RadarChart(
data=data,
category_column='Category',
value_columns=['Speed', 'Accuracy', 'Efficiency']
)
chart.plot()
chart.show()from reverievis import RadarChart, ChartConfig, Theme
from reverievis.core.constants import LegendStyles, Markers
# Custom configuration
config = ChartConfig(
figure_size=(12, 8),
title="Performance Comparison",
colors=['#FF6D60', '#6DA9E4', '#F7D060'],
legend_style=LegendStyles.TOP,
marker=Markers.CIRCLE
)
# Custom theme
theme = Theme("professional")
# Create chart
chart = RadarChart(
data=data,
category_column='Category',
value_columns=['Speed', 'Accuracy', 'Efficiency'],
config=config,
theme=theme
)
chart.plot()
chart.show()from reverievis import create_chart
# Create chart using factory
chart = create_chart(
'radar',
data=data,
category_column='Category',
value_columns=['Speed', 'Accuracy', 'Efficiency']
)
chart.plot()
chart.show()The package follows a clean, modular architecture:
reverievis/
├── core/ # Base classes and configuration
├── charts/ # Chart implementations
├── utils/ # Utility functions
├── constants/ # Type-safe constants
└── factory/ # Chart creation factory
Chart: Abstract base class for all chart typesChartConfig: Centralized configuration managementTheme: Professional theming systemChartFactory: Factory pattern for chart creation- Constants: Type-safe constants preventing errors
📚 Complete Documentation: Visit our GitBook documentation for comprehensive guides, examples, and API reference.
git clone https://github.com/ragilhadi/reverie-vis.git
cd reverie-vis
pip install -r requirements-dev.txtPre-commit hooks automatically check code quality before each commit:
# Install pre-commit
pip install pre-commit
# Install the git hook scripts
pre-commit install
# Run against all files (optional)
pre-commit run --all-filesThe pre-commit hooks will automatically:
- Format code with Ruff
- Check code quality with Ruff linting
- Validate imports and catch common issues
- Ensure consistent code style across the project
# Run tests
pytest src/tests/
# Format code
black src/
# Lint code
flake8 src/
# Type checking
mypy src/Contributions are welcome! Please feel free to submit a Pull Request.
Before contributing, please:
- Set up pre-commit hooks (see Development section above)
- Ensure all tests pass
- Follow the existing code style
This project is licensed under the MIT License - see the LICENSE file for details.
- ragilhadi - Initial work - ragilhadi
- Built with Matplotlib
- Data handling with Pandas
- Numerical operations with NumPy