Metadata-Version: 2.3
Name: amherst
Version: 0.4.2
Summary: Add your description here
Author: Paw
Author-email: Paw <amherst+pawrequest@users.noreply.github.com>
Requires-Dist: pycommence
Requires-Dist: shipaw>=0.3.1
Requires-Dist: flaskwebgui>=1.2.2
Requires-Dist: pawdf
Requires-Dist: suppawt
Requires-Dist: pawlogger
Requires-Dist: pytest-asyncio>=1.2.0
Requires-Dist: hatchling>=1.27.0
Requires-Dist: python-multipart>=0.0.20
Requires-Dist: matplotlib>=3.10.6
Requires-Dist: pydantic-settings>=2.11.0
Requires-Dist: pydantic[email]>=2.11.9
Requires-Dist: fastapi>=0.117.1
Requires-Dist: docxtpl>=0.20.1
Requires-Dist: jinja2>=3.1.6
Requires-Dist: pandas>=2.3.3
Requires-Dist: loguru>=0.7.3
Requires-Dist: pyperclip>=1.11.0
Requires-Dist: xlrd>=2.0.2
Requires-Python: >=3.13
Description-Content-Type: text/markdown

# amherst

This project pulls together a number of different tools to assist with our day-to-day business needs.

It is ludicrously over-engineered. Previous iterations used PySimpleGui, but that is no longer FOSS - instead we produce
a full FastAPI based web-application wrapped in FlaskWebGui to render as a desktop app.

## Major Dependencies

- ### Commence RM Designer Edition
  CRM
- ### Pydantic
  type safety, validation, serialisation
- ### FastAPI
  manage endpoints and application flow / concurrency
- ### Htmx
  front-end tooling
-

~~### SqlModel~~
~~- use Sqlite DB as persistent storage~~  
~~### FastUi~~
~~- declarative front-end from the Pydantic Family~~

### Logguru

- could be removed but frankly i like it

## Custom (pawrequest) Dependencies

### [PyCommence](https://github.com/pawrequest/pycommence)

- a nascent ORM (currently just simple CRUD) to access Commence RM Designer edition via python
- next version is creating json-schema from the db data and dynamically defining Pydantic Models / SQL schema

### [Shipaw](https://github.com/pawrequest/shipaw)

- a shipping client to book collections and produce labels
- currently uses Parcelforce's ExpressLink API but could easily be replaced with other suppliers

~~### [PawDantic](https://github.com/pawrequest/pawdantic)~~
~~- tools for working in the Pydantic ecosystem, specifically custom types
like `TruncatedPrintableString(length:int)`, `ValidUkPostcode`~~

### [PawRequest/FlaskWebGui](https://github.com/pawrequest/FlaskWebGui)

- a fork of Climente's FlaskWebGui injecting a 'URL_Suffix' param to allow dynamic definiition of the initially loaded
  URL

### [PawDF](https://github.com/pawrequest/pawdf)

-PDF tooling, specifically for arraying the A6 labels Parcelforce provide on A4 - 2 to a page - and sending to printer

### [Suppawt](https://github.com/pawrequest/suppawt)

- emailer

## Dev Dependencies

### pytest

### sphinx + autodoc + napoleon
