No project description provided
Project description
Niamoto
A powerful CLI tool for ecological data management and visualization
Transform your ecological data into interactive websites with taxonomic analysis, statistical insights, and beautiful visualizations.
๐ Quick Start
# Install Niamoto
pip install niamoto
# Initialize your project
niamoto init
# Import your data
niamoto import
# Generate statistics
niamoto transform
# Create your website
niamoto export
โจ That's it! Your ecological data website is ready at exports/web/.
๐ผ๏ธ Screenshots
Taxonomic Index Page
Browse and search through your taxonomic data with interactive filters
Taxon Detail Page
Detailed view with statistics, distributions, and interactive visualizations
โจ Features
- ๐ฟ Ecological Data Management - Import and manage taxonomic, occurrence, and plot data
- ๐ Statistical Analysis - Built-in plugins for distributions, rankings, and summaries
- ๐บ๏ธ Geospatial Analysis - Interactive maps and spatial statistics
- ๐ Data Visualization - Charts, maps, and dashboards with Plotly
- ๐๏ธ Plugin System - Extensible architecture for custom transformations and generations
- ๐ Static Site Generation - Generate fast, SEO-friendly websites
- โก CLI Interface - Simple commands for the entire workflow
- ๐ง Configuration-Driven - YAML-based configuration for reproducibility
๐ฏ Use Cases
Niamoto is perfect for:
- Research Institutions - Manage biodiversity databases and generate research websites
- Conservation Organizations - Track species distributions and create public dashboards
- Botanical Gardens - Document collections and share taxonomic information
- Environmental Consultants - Analyze ecological data and create client reports
- Government Agencies - Monitor biodiversity and publish open data portals
๐ Table of Contents
- ๐ Quick Start
- ๐ผ๏ธ Screenshots
- โจ Features
- ๐ฏ Use Cases
- ๐ Table of Contents
- ๐ฆ Installation
- ๐โโ๏ธ Usage
- ๐ Project Structure
- ๐ง Configuration
- ๐งฉ Plugin System
- ๐ฉโ๐ป Development
- ๐ Documentation
- ๐ค Contributing
- ๐ License
- โ FAQ
- ๐ค Community & Support
- ๐ Changelog
๐ฆ Installation
For Users
pip install niamoto
For Developers
# Clone and setup development environment
git clone https://github.com/niamoto/niamoto.git
cd niamoto
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
๐ Detailed Installation Guide
๐โโ๏ธ Usage
Initial Setup
# Initialize your project
niamoto init
# This creates the default configuration files:
# - config/config.yml (global settings)
# - config/import.yml (data sources)
# - config/transform.yml (data processing)
# - config/export.yml (website generation)
Data Import
# Import all data sources from import.yml
niamoto import
# Or import specific data types
niamoto import taxonomy <file>
niamoto import occurrences <file>
niamoto import plots <file>
Generate Statistics and Website
# Process data transformations
niamoto transform
# Generate static website
niamoto export
# Your website is ready at exports/web/
๐ Complete CLI Reference | Data Import Guide
๐ Project Structure
config/ - YAML configuration files for data pipeline:
config.yml - Global configuration options
import.yml - Data import configuration
transform.yml - Data transformation configuration
export.yml - Widget and chart configurations
db/ - Database files and schemas
exports/ - Generated widget data and statistics
imports/ - Raw data files (CSV, shapefiles, rasters)
logs/ - Application logs and debug information
plugins/ - Custom plugin directory for extending functionality
templates/ - Custom Jinja2 templates for website generation
๐ง Configuration
Niamoto uses YAML configuration files to define your data pipeline:
config/import.yml- Data sources (CSV, GIS files)config/transform.yml- Data processing and statisticsconfig/export.yml- Website generation and visualizations
๐ Complete Configuration Guide | Data Import Guide
๐งฉ Plugin System
Niamoto includes built-in plugins for data transformation and visualization, with support for custom plugins.
๐ Plugin Development Guide | Plugin API Reference
๐ฉโ๐ป Development
For development setup, testing, and contribution guidelines:
๐ Development Setup Guide | Contributing Guidelines
๐ Documentation
The complete documentation is available in the docs/ directory and online:
- ๐ Online Documentation
- ๐ Getting Started Guide
- ๐ Configuration Guide
- ๐งฉ Plugin Development
- ๐ API Reference
- ๐ค ML Detection System
- ๐ Data Pipeline
To build the documentation locally:
cd docs
sphinx-apidoc -o . ../src/niamoto
make html
๐ค Contributing
We welcome contributions to Niamoto! Here's how you can help:
- Check for open issues or open a new issue to start a discussion
- Fork the repository and create your feature branch
- Write tests for new features and ensure existing tests pass
- Follow our coding standards (Black formatting, type hints, docstrings)
- Submit a pull request
๐ Contributing Guide
๐ License
niamoto is distributed under the terms of the GPL-3.0-or-later license.
โ FAQ
What data formats does Niamoto support?
Niamoto supports CSV files for taxonomic and occurrence data, and common GIS formats (Shapefile, GeoPackage, GeoTIFF) for spatial data.
Can I customize the generated website?
Yes! Niamoto uses Jinja2 templates and supports custom CSS. You can completely customize the look and feel of your website.
How do I add custom data transformations?
You can create custom plugins by extending the base plugin classes. See our Plugin Development Guide.
Is Niamoto suitable for large datasets?
Yes! Niamoto uses SQLite with spatial extensions and is optimized for performance. It can handle datasets with millions of records efficiently.
๐ค Community & Support
- ๐ฌ Discussions - GitHub Discussions
- ๐ Bug Reports - GitHub Issues
- ๐ Documentation - niamoto.readthedocs.io
- ๐ Live Demo - niamoto.github.io/niamoto-static-site
๐ Changelog
See CHANGELOG.md for a list of changes in each release.
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 niamoto-0.7.5.tar.gz.
File metadata
- Download URL: niamoto-0.7.5.tar.gz
- Upload date:
- Size: 10.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d2c170d27a44119b7be0cfbf692ad687ea205ddb9e90647af65bfa47ae97888
|
|
| MD5 |
bf1fecff74e359ebd8dcdff7c3ba160b
|
|
| BLAKE2b-256 |
f059ec4587b33b0a8c236a955bacd27ced43cf3797a5d489a30643fb68e78940
|
File details
Details for the file niamoto-0.7.5-py3-none-any.whl.
File metadata
- Download URL: niamoto-0.7.5-py3-none-any.whl
- Upload date:
- Size: 13.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2dec5ab0001bf12455e33fb7fdfc8e3b58c27eaed74baa0be8ac69bac40c563d
|
|
| MD5 |
3090140596e8cd5abd50ade0d4adf800
|
|
| BLAKE2b-256 |
0e94aca1bf49b99e002f1972eae6032f92adbeb25ec804813537db27a7a99588
|