Python library for partner/product/material tasks based on the competition document
Project description
partner-solutions
Python-библиотека под задания из PDF и приложенных материалов.
Что внутри
- доменные модели партнеров, продукции, материалов и продаж;
- сервис расчета скидки партнера;
- сервис расчета материала с учетом коэффициента типа продукции и процента брака;
- сервисы для партнеров и продаж;
- bootstrap БД из встроенных SQL-скриптов;
- простой слой доступа к MySQL;
- примеры использования.
Структура
partner_solutions/domain— модели данныхpartner_solutions/services— бизнес-логикаpartner_solutions/repositories— доступ к БДpartner_solutions/sql— SQL-скриптыexamples— примеры использования
Установка
cd D:\tools\bibl\partner_solutions_lib
pip install -e .
Настройка БД
Переменные окружения:
PARTNER_SOLUTIONS_DB_HOSTPARTNER_SOLUTIONS_DB_PORTPARTNER_SOLUTIONS_DB_USERPARTNER_SOLUTIONS_DB_PASSWORDPARTNER_SOLUTIONS_DB_NAME
Инициализация БД
python examples/bootstrap_database.py
Быстрый старт
from partner_solutions import DatabaseManager
from partner_solutions.repositories import PartnerRepository
from partner_solutions.services import PartnerService
connection = DatabaseManager().create_connection()
try:
service = PartnerService(PartnerRepository(connection))
partners = service.get_partner_cards()
for partner in partners:
print(partner)
finally:
connection.close()
CLI
После установки доступны команды:
partner-solutions init-db
partner-solutions list-partners
partner-solutions list-products
partner-solutions list-materials
partner-solutions partner-sales 1
partner-solutions add-sale 1 1 500 2026-04-28
partner-solutions calc-material 2.35 0.001 100 2.0 3.0
И генератор именно под конкурсный partner-system:
olymp create db --template partner-system
olymp create web --template partner-system
olymp init partner-system
Примеры:
olymp create db --template partner-system --output ./db
olymp create web --template partner-system --output ./web
olymp init partner-system --output ./partner-system
Что делает:
olymp create db— генерирует готовую БД под конкурсный partner-systemolymp create web— генерирует готовую FastAPI-вебку под конкурсный partner-systemolymp init partner-system— генерирует весь проект целиком (db/+web/)
Примеры
examples/basic_usage.py— чистая бизнес-логикаexamples/db_usage.py— работа через MySQLexamples/bootstrap_database.py— создание схемы и тестовых данных
SQL
Готовые скрипты лежат здесь:
partner_solutions/sql/schema.sqlpartner_solutions/sql/seed.sql
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 partner_solutions-0.1.0.tar.gz.
File metadata
- Download URL: partner_solutions-0.1.0.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be664f69409e6b4faaef0b838c9a998454e5f48a4981b016ec69e84c70c394f3
|
|
| MD5 |
0187ec8bd62120c57152fdc223af7db0
|
|
| BLAKE2b-256 |
e78491b0d457ae53957f733f94585efe647139552448bce35572513e5808c926
|
File details
Details for the file partner_solutions-0.1.0-py3-none-any.whl.
File metadata
- Download URL: partner_solutions-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b619b5c41b85d60e014a883a4a24a5e20c8a7ad6686449c1c635a7d6adc88348
|
|
| MD5 |
9190af556fa47e2301c0f0d574f6be1e
|
|
| BLAKE2b-256 |
e8fac02e620d03baa449b3b00e6a2ca6e0d001ac0274c425629ab74d6c1a9f9d
|