[project] name = "worblehat" version = "0.1.0" description = "Worblehat is a simple library management system written specifically for Programvareverkstedet" authors = [] license = { file = "LICENSE" } readme = "README.md" requires-python = ">=3.12" dependencies = [ "alembic>=1.17", "beautifulsoup4>=4.14", "click>=8.3", "flask-admin>=2.0", "flask-sqlalchemy>=3.1", "flask>=3.0", "isbnlib>=3.10", "libdib", "psycopg2-binary>=2.9", "requests>=2.32", "sqlalchemy>=2.0", ] [dependency-groups] dev = [ "werkzeug", "poethepoet", ] [project.scripts] worblehat = "worblehat:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.poe.tasks] clean = """ rm -rf ./**/__pycache__ ./**/worblehat.sqlite """ # Migration related genmigration = "alembic revision --autogenerate -m" migrate = "alembic upgrade head" downmigrate = "alembic downgrade -1" # Be careful with cleanmigrations. If you run migrate a database and then # delete the migration file with this, there will be no easy way of downgrading cleanmigrations = "git clean -f worblehat/models/migrations/versions" [tool.uv.sources] libdib = { git = "https://git.pvv.ntnu.no/Projects/libdib.git" } [tool.black] line-length = 100 [tool.ruff] line-length = 100 [tool.ruff.lint] select = [ "A", # flake8-builtins "B", # flake8-bugbear "C4", # flake8-comprehensions "COM", # flake8-commas "ANN", # "E", # pycodestyle # "F", # Pyflakes "FA", # flake8-future-annotations "I", # isort "S", # flake8-bandit "ICN", # flake8-import-conventions "ISC", # flake8-implicit-str-concat # "N", # pep8-naming "PTH", # flake8-use-pathlib "RET", # flake8-return "SIM", # flake8-simplify "TC", # flake8-type-checking "UP", # pyupgrade "YTT", # flake8-2020 ] ignore = [ # "E501", # line too long "S101", # assert detected # "S311", # non-cryptographic random generator ]