A tool for exploring and analyzing Gather.town spaces, with a focus on understanding portal structures and connections between maps.
- List all maps in a Gather.town space
- Analyze portal objects across maps
- Extract detailed portal properties and connections
- Generate connection graphs between maps
- Export data in various formats (JSON, CSV, tables)
portal-explorer/
├── src/ # Source code
│ └── portal_explorer/ # Main package
├── tests/ # Test suite
│ ├── unit/ # Unit tests
│ └── bdd/ # BDD tests
├── docs/ # Documentation
└── examples/ # Example scripts
- Python 3.9+
- Poetry for dependency management
-
Clone the repository:
git clone https://github.com/yourusername/portal-explorer.git cd portal-explorer -
Install dependencies using Poetry:
poetry install
-
Configure your Gather.town API credentials:
cp .env.example .env # Edit .env with your credentials
Run unit tests with pytest:
poetry run pytest tests/unitRun BDD tests with behave:
poetry run behave tests/bdd/featuresThis project follows standard Python practices:
- PEP 8 for code style
- Black for code formatting
- isort for import sorting
- mypy for type checking
- flake8 for linting
Pre-commit hooks are configured to ensure code quality:
poetry run pre-commit installWe follow standard TDD practices:
- Write a failing test
- Write the minimum code to make it pass
- Refactor while keeping tests green
BDD tests are written in Gherkin syntax using behave:
# tests/bdd/features/map_listing.feature
Feature: List Maps
Scenario: List all maps in a space
Given I have valid API credentials
When I request all maps
Then I should receive a list of maps- Fork the repository
- Create a feature branch
- Write tests first (TDD/BDD)
- Implement your changes
- Submit a pull request
Gather-Utils is a collection of utilities for managing and interacting with Gather.town spaces.
###TBD