Welcome to QuackVerse, the ecosystem of modular, developer-first tools for building, learning, and teaching with AI.
Whether you're automating metadata extraction, building AI agents, exploring tokenizers, or crafting CLI-based learning experiences β QuackVerse gives you open, structured tools that feel great to use and easy to extend.
| Tool | Description |
|---|---|
quackcore |
The shared foundation for all QuackTools β infrastructure, integrations, protocols |
quacktools/* |
Modular tools for AI workflows β metadata, prompt engineering, token inspection, and more |
quackdata |
Data manipulation tools (coming soon) |
quackcloud |
Cloud infrastructure (coming soon) |
quackdocs/ |
Canonical docs, specs, and implementation guides (coming soon) |
QuackVerse is inspired by:
- π§ Fast.ai-style teaching: code-first, hands-on learning
- π οΈ Unix-style tools: each tool does one thing well
- π§ͺ Solo-friendly engineering: every repo is small, self-contained, and shippable
- π§βπ« Gamified learning: XP, quests, and teaching UX baked into the CLI
The main entrypoint for the ecosystem is:
pip install ducktyperOnce installed, try:
ducktyper list
ducktyper run quacktool-nameEach tool has its own README with usage examples and learning paths.
- Python 3.10 or newer
- uv - Fast Python package installer and resolver
The fastest way to get started is to use the setup script:
# Clone the repository
git clone https://github.com/ducktyper-ai/quackverse
cd quackverse
# Run the setup script (creates venv and installs dependencies)
make setup
source setup.shIf you prefer to set up manually:
# Create a virtual environment
make env
source .venv/bin/activate
# Install all packages with dependencies
make install-all
# Install development tools
make install-devRun the full test suite:
make testRun tests for specific packages:
make test-quack-coreFormat your code and run linters:
make format # Format code with Ruff and isort
make lint # Run linters (Ruff, MyPy)Before committing, run all checks:
make pre-commitTo build distribution packages:
make buildTo publish to PyPI:
make publishTo view the current project structure:
make structureQuackVerse follows modern Python packaging best practices:
- Monorepo Structure: Multiple related packages in a single repository
- uv for Dependency Management: Fast, modern Python package installer
- hatchling for Building: Modern, extensible build backend
- Ruff for Linting: Fast, comprehensive Python linter
- MyPy for Type Checking: Static type analysis
- pytest for Testing: Comprehensive testing framework
| Layer | License |
|---|---|
quackcore, ducktyper |
AGPL-3.0 |
quacktools/* |
BUSL-1.1 (source-available, converts to Apache 2.0 in 3 years) |
| Branding & Mascot | CC BY-NC-ND |
See LICENSE_POLICY.md for more details.
We welcome contributions from educators, hackers, and AI enthusiasts.
- Open issues to request a new QuackTool or learning module
- Use pull requests for bugfixes or enhancements
- Follow us at aiproduct.engineer
QuackVerse is a modular ecosystem with mixed licensing to balance community contribution and project protection.
- Repositories:
quackcore,ducktyper - License: GNU Affero General Public License v3.0 (AGPL-3.0)
- Why? This license ensures that any public use of these tools β including SaaS or hosted services β must release the source code and improvements back to the community.
- Repositories: All
quacktools/* - License: Business Source License 1.1 (BUSL-1.1)
- What does this mean?
- You can view, fork, and modify the code.
- Production or commercial use is not allowed unless you obtain a commercial license from us.
- The license automatically converts to Apache 2.0 after 3 years, ensuring long-term openness.
- A short human summary is provided in each tool's README.
- Assets: Logos, Mascot (Quackster), design elements
- License: Creative Commons Attribution-NonCommercial-NoDerivs 4.0 (CC BY-NC-ND 4.0)
- You may not redistribute, remix, or use our branding for commercial purposes.
We love open-source and education. However, to continue building high-quality learning tools, we need to protect our work from being commercialized or rebranded by others without contributing back. Our structure enables:
- A healthy developer community.
- Opportunities for contributors to shape the future.
- Commercial protection for sustainability.
We welcome pull requests, issues, and feedback. If you're interested in commercial use, please reach out via rod@aip.engineer.
Tweet at @aipengineer or file an issue on GitHub!
Rod & the DuckTyper Collective at AI Product Engineer
Independent creators building tools for the next generation of AI developers.