FossilRepo

fossilrepo / pyproject.toml
Source Blame History 107 lines
4ce269c… ragelink 1 [project]
4ce269c… ragelink 2 name = "fossilrepo"
7719b08… ragelink 3 version = "0.1.0"
c588255… ragelink 4 description = "Self-hosted Fossil SCM forge — code hosting, issues, wiki, and continuous backups in one command."
4ce269c… ragelink 5 license = "MIT"
4ce269c… ragelink 6 requires-python = ">=3.12"
c588255… ragelink 7 readme = "README.md"
c588255… ragelink 8 authors = [
c588255… ragelink 9 { name = "CONFLICT LLC", email = "[email protected]" },
c588255… ragelink 10 ]
c588255… ragelink 11 keywords = ["fossil", "scm", "vcs", "code-hosting", "self-hosted", "forge"]
c588255… ragelink 12 classifiers = [
c588255… ragelink 13 "Development Status :: 3 - Alpha",
c588255… ragelink 14 "Environment :: Web Environment",
c588255… ragelink 15 "Framework :: Django",
c588255… ragelink 16 "Framework :: Django :: 5.1",
c588255… ragelink 17 "Intended Audience :: Developers",
c588255… ragelink 18 "Intended Audience :: System Administrators",
c588255… ragelink 19 "License :: OSI Approved :: MIT License",
c588255… ragelink 20 "Operating System :: POSIX :: Linux",
c588255… ragelink 21 "Programming Language :: Python :: 3.12",
c588255… ragelink 22 "Topic :: Software Development :: Version Control",
c588255… ragelink 23 ]
4ce269c… ragelink 24 dependencies = [
4ce269c… ragelink 25 "django>=5.1,<6.0",
4ce269c… ragelink 26 "psycopg2-binary>=2.9",
4ce269c… ragelink 27 "redis>=5.0",
4ce269c… ragelink 28 "celery[redis]>=5.4",
4ce269c… ragelink 29 "django-celery-results>=2.5",
4ce269c… ragelink 30 "django-celery-beat>=2.7",
4ce269c… ragelink 31 "django-import-export>=4.0",
4ce269c… ragelink 32 "django-simple-history>=3.7",
4ce269c… ragelink 33 "django-ratelimit>=4.1",
4ce269c… ragelink 34 "django-health-check>=3.18",
4ce269c… ragelink 35 "django-constance[database]>=4.1",
4ce269c… ragelink 36 "django-storages[s3]>=1.14",
4ce269c… ragelink 37 "django-ses>=4.1",
4ce269c… ragelink 38 "django-cors-headers>=4.4",
4ce269c… ragelink 39 "gunicorn>=23.0",
4ce269c… ragelink 40 "whitenoise>=6.7",
4ce269c… ragelink 41 "boto3>=1.35",
4ce269c… ragelink 42 "sentry-sdk[django]>=2.14",
4ce269c… ragelink 43 "click>=8.1",
4ce269c… ragelink 44 "rich>=13.0",
4ce269c… ragelink 45 "markdown>=3.6",
70fa957… ragelink 46 "requests>=2.31",
c588255… ragelink 47 "cryptography>=43.0",
c588255… ragelink 48 "mcp>=1.0",
4ce269c… ragelink 49 ]
c588255… ragelink 50
c588255… ragelink 51 [project.urls]
c588255… ragelink 52 Homepage = "https://fossilrepo.dev"
c588255… ragelink 53 Documentation = "https://fossilrepo.dev"
c588255… ragelink 54 Repository = "https://github.com/ConflictHQ/fossilrepo"
c588255… ragelink 55 Issues = "https://github.com/ConflictHQ/fossilrepo/issues"
c588255… ragelink 56 Demo = "https://fossilrepo.io"
4ce269c… ragelink 57
4ce269c… ragelink 58 [project.scripts]
4ce269c… ragelink 59 fossilrepo-ctl = "ctl.main:cli"
c588255… ragelink 60 fossilrepo-mcp = "mcp_server.__main__:run"
4ce269c… ragelink 61
4ce269c… ragelink 62 [project.optional-dependencies]
4ce269c… ragelink 63 dev = [
4ce269c… ragelink 64 "ruff>=0.7",
4ce269c… ragelink 65 "pytest>=8.3",
4ce269c… ragelink 66 "pytest-django>=4.9",
4ce269c… ragelink 67 "pytest-cov>=5.0",
4ce269c… ragelink 68 "coverage>=7.6",
4ce269c… ragelink 69 "freezegun>=1.4",
4ce269c… ragelink 70 "pip-audit>=2.7",
4ce269c… ragelink 71 ]
4ce269c… ragelink 72
4ce269c… ragelink 73 [tool.ruff]
4ce269c… ragelink 74 target-version = "py312"
4ce269c… ragelink 75 line-length = 140
4ce269c… ragelink 76
4ce269c… ragelink 77 [tool.ruff.lint]
4ce269c… ragelink 78 select = ["E", "F", "I", "W", "UP", "B", "SIM", "N"]
4ce269c… ragelink 79 ignore = ["E501"]
4ce269c… ragelink 80
4ce269c… ragelink 81 [tool.ruff.lint.isort]
c588255… ragelink 82 known-first-party = ["config", "core", "accounts", "organization", "projects", "pages", "fossil", "testdata", "ctl", "mcp_server"]
4ce269c… ragelink 83
4ce269c… ragelink 84 [tool.ruff.format]
4ce269c… ragelink 85 quote-style = "double"
4ce269c… ragelink 86
4ce269c… ragelink 87 [tool.pytest.ini_options]
4ce269c… ragelink 88 DJANGO_SETTINGS_MODULE = "config.settings"
4ce269c… ragelink 89 python_files = ["tests.py", "test_*.py"]
4ce269c… ragelink 90 python_classes = ["Test*"]
4ce269c… ragelink 91 python_functions = ["test_*"]
4ce269c… ragelink 92 addopts = "-v --tb=short --strict-markers"
4ce269c… ragelink 93
4ce269c… ragelink 94 [tool.coverage.run]
c588255… ragelink 95 source = ["core", "accounts", "organization", "projects", "pages", "fossil"]
4ce269c… ragelink 96 omit = ["*/migrations/*", "*/tests/*", "*/testdata/*", "manage.py", "startup.py"]
4ce269c… ragelink 97
4ce269c… ragelink 98 [tool.coverage.report]
4ce269c… ragelink 99 fail_under = 80
4ce269c… ragelink 100 show_missing = true
4ce269c… ragelink 101
4ce269c… ragelink 102 [tool.hatch.build.targets.wheel]
c588255… ragelink 103 packages = ["ctl", "core", "accounts", "organization", "projects", "pages", "fossil", "config", "mcp_server"]
4ce269c… ragelink 104
4ce269c… ragelink 105 [build-system]
4ce269c… ragelink 106 requires = ["hatchling"]
4ce269c… ragelink 107 build-backend = "hatchling.build"

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button