This release is a pre-release and may not be stable for production use.
Wobble
Centralized testing package for Cracking Shells
Installation
From Source
git clone https://github.com/CrackingShells/Wobble.git
cd Wobble
pip install -e .
From PyPI
pip install cs-wobble
Quick Start
# Install wobble
pip install -e .
# Run all tests
wobble
# Run specific test categories
wobble --category regression
wobble --category integration
# Save results to file
wobble --log-file test_results.json
# CI/CD integration with file output
wobble --format json --log-file ci_results.json --log-verbosity 3
# Enhanced test discovery
wobble --discover-only # Show test counts by category
wobble --discover-only --discover-verbosity 2 # Show uncategorized test details
wobble --discover-only --discover-verbosity 3 # Show all tests with decorators
# Test execution with decorator display
wobble --verbose # Shows [@decorator_name] for each test
# Get help
wobble --help
Development
Setup Development Environment
# Clone the repository
git clone https://github.com/CrackingShells/Wobble.git
cd Wobble
# Install in development mode
pip install -e .
# Install Node.js dependencies for semantic release
npm install
Running Tests
# Run all tests with wobble
wobble
# Run tests by category
wobble --category regression
# Run with verbose output
wobble --verbose
# Alternative: use unittest directly
python -m unittest discover tests
Enhanced Discovery Features
Wobble provides enhanced test discovery with multiple verbosity levels and decorator display:
# Discovery verbosity levels
wobble --discover-only --discover-verbosity 1 # Test counts by category (default)
wobble --discover-only --discover-verbosity 2 # + Uncategorized test details
wobble --discover-only --discover-verbosity 3 # + All tests with decorator info
# Test execution with decorator display
wobble --verbose # Shows [@decorator_name] for tests
wobble --category regression --verbose # Regression tests with decorators
Decorator Display Examples:
[@regression_test]- Regression test[@integration_test]- Integration test[@slow_test]- Slow-running test[@regression_test, @slow_test]- Multiple decorators
Making Commits
We use Conventional Commits for automated versioning:
# Use commitizen for guided commits
npm run commit
# Or commit manually with conventional format
git commit -m "feat: add new feature"
git commit -m "fix: resolve issue with X"
git commit -m "docs: update README"
Documentation
Complete documentation is available in the docs/articles/ directory:
- Getting Started - Installation and basic usage
- CLI Reference - Complete command reference
- Test Organization - Test categorization strategies
- Integration Guide - Repository integration
- Architecture Overview - System design
- Contributing Guidelines - Development workflow
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Development workflow
- Code style guidelines
- Testing requirements
- Pull request process
License
This project is licensed under the GNU Affero General Public License v3 - see the LICENSE file for details.
Links
- Homepage: https://github.com/CrackingShells/Wobble
- Bug Reports: https://github.com/CrackingShells/Wobble/issues
- Documentation: docs/articles/
Metadata
Release files for cs-wobble 0.2.1.dev1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cs_wobble-0.2.1.dev1.tar.gz | 436.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cs_wobble-0.2.1.dev1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 924.7 kB
Release files / cs_wobble-0.2.1.dev1.tar.gz
| Download URL | cs_wobble-0.2.1.dev1.tar.gz |
|---|---|
| Size | 436.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d9137826426b7ebde43371dafa19975fffed7e1a74bb18a07cdcb33c062da4a6
|
|
BLAKE2b-256 checksum How to use checksums |
2d0f1a5971ccc809d9eb185f83f270853e26da38fd47d0a081acdf2b1833ab8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 4, 2025.
Transparency logRelease files / cs_wobble-0.2.1.dev1-py3-none-any.whl
| Download URL | cs_wobble-0.2.1.dev1-py3-none-any.whl |
|---|---|
| Size | 487.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e9dda353f2e747c5bfb4b222f94e89fe06e2896f6de6303a9b6a8fe932e9e38b
|
|
BLAKE2b-256 checksum How to use checksums |
6e348ad870e7698a0de6459ffd3380d63ecdbff2e31bd74286e70729af03fcc4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 4, 2025.
Transparency log