Untone 09dd86b51a
Some checks failed
Deploy on push / deploy (push) Failing after 2m17s
fix: use proper test fixtures instead of local_session
- Replace local_session() calls with db_session fixture in tests
- Add @pytest.mark.asyncio decorators to async test functions
- Fix test_unpublish_shout.py to use proper test database setup
- Tests now use in-memory SQLite database with proper schema
- All test tables are created automatically via conftest.py fixtures
2025-08-12 13:41:31 +03:00
2025-08-12 13:19:55 +03:00
2025-08-12 13:04:12 +03:00
2025-07-25 01:04:15 +03:00
2025-08-01 04:51:06 +03:00
2025-07-31 19:31:51 +03:00
2025-08-01 04:51:06 +03:00
2025-08-01 05:17:01 +03:00
2025-08-01 04:51:06 +03:00
2025-07-31 18:55:59 +03:00
2025-07-31 18:55:59 +03:00
..
2024-11-14 14:00:33 +03:00
2025-08-01 04:51:06 +03:00
2025-08-01 04:51:06 +03:00
2025-08-01 04:51:06 +03:00
2024-02-21 23:12:47 +03:00
2025-07-18 16:32:35 +03:00
2025-08-12 13:19:55 +03:00
2025-08-01 04:51:06 +03:00
2025-08-01 04:51:06 +03:00
2025-08-01 04:51:06 +03:00
2025-08-01 04:51:06 +03:00
2025-07-02 22:30:21 +03:00
2025-08-01 04:51:06 +03:00
2025-08-01 04:51:06 +03:00
2025-08-01 04:51:06 +03:00
2025-08-12 13:12:39 +03:00
2025-07-02 22:30:21 +03:00
2025-06-19 11:28:48 +03:00
2025-08-01 04:51:06 +03:00
2025-07-31 18:55:59 +03:00
2025-07-25 12:26:31 +03:00
2025-07-31 18:55:59 +03:00
2025-08-01 04:51:06 +03:00
2025-08-12 13:12:39 +03:00
2025-08-01 04:51:06 +03:00
2025-07-02 22:30:21 +03:00
2025-08-12 13:19:55 +03:00
2025-07-25 12:26:31 +03:00

Discours Core

Core backend for Discours.io platform

Requirements

  • Python 3.11+
  • uv (Python package manager)

Installation

Install uv

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Setup project

# Clone repository
git clone <repository-url>
cd discours-core

# Install dependencies
uv sync --dev

# Activate virtual environment
source .venv/bin/activate  # Linux/macOS
# or
.venv\Scripts\activate     # Windows

Development

Install dependencies

# Install all dependencies (including dev)
uv sync --dev

# Install only production dependencies
uv sync

# Install specific group
uv sync --group test
uv sync --group lint

Run tests

# Run all tests
uv run pytest

# Run specific test file
uv run pytest tests/test_auth_fixes.py

# Run with coverage
uv run pytest --cov=services,utils,orm,resolvers

Code quality

# Run ruff linter
uv run ruff check .

# Run ruff formatter
uv run ruff format .

# Run mypy type checker
uv run mypy .

Run application

# Run main application
uv run python main.py

# Run development server
uv run python dev.py

Project structure

discours-core/
├── auth/           # Authentication and authorization
├── cache/          # Caching system
├── orm/            # Database models
├── resolvers/      # GraphQL resolvers
├── services/       # Business logic services
├── utils/          # Utility functions
├── schema/         # GraphQL schema
├── tests/          # Test suite
└── docs/           # Documentation

Configuration

The project uses pyproject.toml for configuration:

  • Dependencies: Defined in [project.dependencies] and [project.optional-dependencies]
  • Build system: Uses hatchling for building packages
  • Code quality: Configured with ruff and mypy
  • Testing: Configured with pytest

CI/CD

The project includes GitHub Actions workflows for:

  • Automated testing
  • Code quality checks
  • Deployment to staging and production servers

License

MIT License

Description
ядро платформы
Readme MIT 12 MiB
Languages
Python 74.6%
TypeScript 19.2%
CSS 6.1%