Skip to main content

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_HOST
  • PARTNER_SOLUTIONS_DB_PORT
  • PARTNER_SOLUTIONS_DB_USER
  • PARTNER_SOLUTIONS_DB_PASSWORD
  • PARTNER_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-system
  • olymp create web — генерирует готовую FastAPI-вебку под конкурсный partner-system
  • olymp init partner-system — генерирует весь проект целиком (db/ + web/)

Примеры

  • examples/basic_usage.py — чистая бизнес-логика
  • examples/db_usage.py — работа через MySQL
  • examples/bootstrap_database.py — создание схемы и тестовых данных

SQL

Готовые скрипты лежат здесь:

  • partner_solutions/sql/schema.sql
  • partner_solutions/sql/seed.sql

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

partner_solutions-0.1.0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

partner_solutions-0.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

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

Hashes for partner_solutions-0.1.0.tar.gz
Algorithm Hash digest
SHA256 be664f69409e6b4faaef0b838c9a998454e5f48a4981b016ec69e84c70c394f3
MD5 0187ec8bd62120c57152fdc223af7db0
BLAKE2b-256 e78491b0d457ae53957f733f94585efe647139552448bce35572513e5808c926

See more details on using hashes here.

File details

Details for the file partner_solutions-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for partner_solutions-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b619b5c41b85d60e014a883a4a24a5e20c8a7ad6686449c1c635a7d6adc88348
MD5 9190af556fa47e2301c0f0d574f6be1e
BLAKE2b-256 e8fac02e620d03baa449b3b00e6a2ca6e0d001ac0274c425629ab74d6c1a9f9d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page