deps: keep build-machine paths out of the lockfiles
Some checks failed
CI / backend (push) Failing after 7s
CI / naming (push) Successful in 2s
CI / frontend (push) Successful in 9s
CI / migrations-mysql (push) Failing after 7s

The '# via' annotations recorded the absolute path of the temporary file the
lockfile was compiled from, which is meaningless to anyone else and does not
belong in a published artifact. They now read 'requirements.in', which is where
these requirements actually come from.

Pins and hashes are unchanged - verified by a hash-checked dry-run install.
This commit is contained in:
cproudlock
2026-08-03 15:06:02 -04:00
parent 2c415a1712
commit e158cb21f9
2 changed files with 77 additions and 77 deletions

View File

@@ -8,25 +8,25 @@ alembic==1.18.4 \
--hash=sha256:a5ed4adcf6d8a4cb575f3d759f071b03cd6e5c7618eb796cb52497be25bfe19a \
--hash=sha256:cb6e1fd84b6174ab8dbb2329f86d631ba9559dd78df550b57804d607672cedbc
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# flask-migrate
blinker==1.9.0 \
--hash=sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf \
--hash=sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# flask
cachelib==0.13.0 \
--hash=sha256:209d8996e3c57595bee274ff97116d1d73c4980b2fd9a34c7846cd07fd2e1a48 \
--hash=sha256:8c8019e53b6302967d4e8329a504acf75e7bc46130291d30188a6e4e58162516
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# flask-caching
certifi==2026.4.22 \
--hash=sha256:3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a \
--hash=sha256:8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# requests
cffi==2.1.0 ; platform_python_implementation != 'PyPy' \
--hash=sha256:02cb7ff33ded4f1532476731f89ede53e2e488a8e6205515a82144246ffa7dcc \
@@ -130,7 +130,7 @@ cffi==2.1.0 ; platform_python_implementation != 'PyPy' \
--hash=sha256:fb62edb5bb52cca65fab91a63afa7561607120d26090a7e8fda6fb9f064726da \
--hash=sha256:ff067a8d8d880e7809e4ac88eb009bb848870115317b306666502ccad30b147f
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# cryptography
charset-normalizer==3.4.7 \
--hash=sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc \
@@ -263,20 +263,20 @@ charset-normalizer==3.4.7 \
--hash=sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79 \
--hash=sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# requests
click==8.3.3 \
--hash=sha256:398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2 \
--hash=sha256:a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
# flask
colorama==0.4.6 ; sys_platform == 'win32' \
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# click
# pytest
coverage==7.15.3 \
@@ -420,25 +420,25 @@ cryptography==50.0.0 \
--hash=sha256:f89831ef99dd7dd169ab06d63a831adb9e20a87aac6d380266bbda5823349169 \
--hash=sha256:fd9192b7b70c573d7f214eb1ae35e00d359f6f5e4b27c7e21e30de1fc6204645
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
dnspython==2.8.0 \
--hash=sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af \
--hash=sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# email-validator
email-validator==2.3.0 \
--hash=sha256:80f13f623413e6b197ae73bb10bf4eb0908faf509ad8362c5edeb0be7fd450b4 \
--hash=sha256:9fc05c37f2f6cf439ff414f8fc46d917929974a82244c20eb10231ba60c54426
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
flask==3.1.3 \
--hash=sha256:0ef0e52b8a9cd932855379197dd8f94047b359ca0a78695144304cb45f87c9eb \
--hash=sha256:f4bcbefc124291925f1a26446da31a5178f9483862233b23c0c96a20701f670c
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
# flask-caching
# flask-cors
@@ -451,37 +451,37 @@ flask-caching==2.4.0 \
--hash=sha256:a7f14e43617cd0612a57bec2f80516d6d2ec888bfc50a807b1e4e41ca345a3b5 \
--hash=sha256:d15b8135f055c4f28f6f7dbcf8d36a3de4af1224def975ae6e0b43cbfa684486
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
flask-cors==6.0.2 \
--hash=sha256:6e118f3698249ae33e429760db98ce032a8bf9913638d085ca0f4c5534ad2423 \
--hash=sha256:e57544d415dfd7da89a9564e1e3a9e515042df76e12130641ca6f3f2f03b699a
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
flask-jwt-extended==4.7.3 \
--hash=sha256:905ac807b52b5409bc9244dbcca434968c13ca6f9d91bffe7d4cb71e0e6231cb \
--hash=sha256:a8318a3d983d1f360724b901889f1947ffee418e2a3950b48e99c70923b6615e
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
flask-marshmallow==1.5.0 \
--hash=sha256:7c06b56e41647eccdb3cd57c25b109f19191b4c62509362bd64920cdf601a066 \
--hash=sha256:99951c77e5654111ed733811c6dc9310bfb4c3688c78a9e76f80b5ae0b2279a6
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
flask-migrate==4.1.0 \
--hash=sha256:1a336b06eb2c3ace005f5f2ded8641d534c18798d64061f6ff11f79e1434126d \
--hash=sha256:24d8051af161782e0743af1b04a152d007bad9772b2bca67b7ec1e8ceeb3910d
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
flask-sqlalchemy==3.1.1 \
--hash=sha256:4ba4be7f419dc72f4efd8802d69974803c37259dd42f3913b0dcf75c9447e0a0 \
--hash=sha256:e4b68bb881802dda1a7d878b2fc84c06d1ee57fb40b874d3dc97dabfa36b8312
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
# flask-migrate
greenlet==3.5.0 ; platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64' \
@@ -545,13 +545,13 @@ greenlet==3.5.0 ; platform_machine == 'AMD64' or platform_machine == 'WIN32' or
--hash=sha256:f8c30c2225f40dd76c50790f0eb3b5c7c18431efb299e2782083e1981feed243 \
--hash=sha256:fa94cb2288681e3a11645958f1871d48ee9211bd2f66628fdace505927d6e564
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# sqlalchemy
idna==3.13 \
--hash=sha256:585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242 \
--hash=sha256:892ea0cde124a99ce773decba204c5552b69c3c67ffd5f232eb7696135bc8bb3
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# email-validator
# requests
iniconfig==2.3.0 \
@@ -562,19 +562,19 @@ itsdangerous==2.2.0 \
--hash=sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef \
--hash=sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# flask
jinja2==3.1.6 \
--hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
--hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# flask
mako==1.3.12 \
--hash=sha256:8f61569480282dbf557145ce441e4ba888be453c30989f879f0d652e39f53ea9 \
--hash=sha256:9f778e93289bd410bb35daadeb4fc66d95a746f0b75777b942088b7fd7af550a
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# alembic
markupsafe==3.0.3 \
--hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \
@@ -667,7 +667,7 @@ markupsafe==3.0.3 \
--hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \
--hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# flask
# jinja2
# mako
@@ -676,14 +676,14 @@ marshmallow==4.3.0 \
--hash=sha256:46c4fe6984707e3cbd485dfebbf0a59874f58d695aad05c1668d15e8c6e13b46 \
--hash=sha256:fb43c53b3fe240b8f6af37223d6ef1636f927ad9bea8ab323afad95dff090880
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# flask-marshmallow
# marshmallow-sqlalchemy
marshmallow-sqlalchemy==1.5.0 \
--hash=sha256:3865232672f3dd38c4d5e4e85fdedce76904200742c3594948a2d11d0af93258 \
--hash=sha256:e51192c204770645a2fab0d72f44f8789272eef75951f84b1608d6b4b0bfe0e6
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
mysql-connector-python==9.7.0 \
--hash=sha256:079ce68d617250ef5cefffd5243056dc9f87c6034c804235fd6f45a0daf5a6ae \
@@ -713,7 +713,7 @@ mysql-connector-python==9.7.0 \
--hash=sha256:ea4e05ab864ab8b0b5066d885d89ca51e5ba1320dba520c20a6f9388a8eca022 \
--hash=sha256:ee90c5f44f706f012be17f03f6ad158ff96e7f2dcc077896fe4537d3d28b3cf4
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
packaging==26.2 \
--hash=sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e \
@@ -729,7 +729,7 @@ pycparser==3.0 ; implementation_name != 'PyPy' and platform_python_implementatio
--hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \
--hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# cffi
pygments==2.20.0 \
--hash=sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f \
@@ -739,13 +739,13 @@ pyjwt==2.12.1 \
--hash=sha256:28ca37c070cad8ba8cd9790cd940535d40274d22f80ab87f3ac6a713e6e8454c \
--hash=sha256:c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# flask-jwt-extended
pymysql==1.1.3 \
--hash=sha256:8164ba62c552f6105f3b11753352d0f16b90d1703ba67d81923d5a8a5d1c5289 \
--hash=sha256:e70ebf2047a4edf6138cf79c68ad418ef620af65900aa585c5e8bfc95044d43a
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
pytest==9.1.1 \
--hash=sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313 \
@@ -766,13 +766,13 @@ python-dotenv==1.2.2 \
--hash=sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a \
--hash=sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
requests==2.33.1 \
--hash=sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517 \
--hash=sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
sqlalchemy==2.0.49 \
--hash=sha256:01146546d84185f12721a1d2ce0c6673451a7894d1460b592d378ca4871a0c72 \
@@ -839,7 +839,7 @@ sqlalchemy==2.0.49 \
--hash=sha256:ec44cfa7ef1a728e88ad41674de50f6db8cfdb3e2af84af86e0041aaf02d43d0 \
--hash=sha256:fb37f15714ec2652d574f021d479e78cd4eb9d04396dca36568fdfffb3487982
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# alembic
# flask-sqlalchemy
# marshmallow-sqlalchemy
@@ -847,38 +847,38 @@ tabulate==0.10.0 \
--hash=sha256:e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d \
--hash=sha256:f0b0622e567335c8fabaaa659f1b33bcb6ddfe2e496071b743aa113f8774f2d3
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
typing-extensions==4.15.0 \
--hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
--hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# alembic
# sqlalchemy
tzdata==2026.3 \
--hash=sha256:4a1518b8993086a7982523e071643f3c0e5f213e75b21318e78bcabfff9d1415 \
--hash=sha256:dc096730c87af6cab1b171c9d532be840741ff5d459015e7f6947bd7d7e54931
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
urllib3==2.7.0 \
--hash=sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c \
--hash=sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# requests
waitress==3.0.2 \
--hash=sha256:682aaaf2af0c44ada4abfb70ded36393f0e307f4ab9456a215ce0020baefc31f \
--hash=sha256:c56d67fd6e87c2ee598b76abdd4e96cfad1f24cacdea5078d382b1f9d7b5ed2e
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
werkzeug==3.1.8 \
--hash=sha256:63a77fb8892bf28ebc3178683445222aa500e48ebad5ec77b0ad80f8726b1f50 \
--hash=sha256:9bad61a4268dac112f1c5cd4630a56ede601b6ed420300677a869083d70a4c44
# via
# -c /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/prod.txt
# -c requirements.txt
# -r requirements.in
# flask
# flask-cors

View File

@@ -19,25 +19,25 @@ alembic==1.18.4 \
--hash=sha256:a5ed4adcf6d8a4cb575f3d759f071b03cd6e5c7618eb796cb52497be25bfe19a \
--hash=sha256:cb6e1fd84b6174ab8dbb2329f86d631ba9559dd78df550b57804d607672cedbc
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask-migrate
blinker==1.9.0 \
--hash=sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf \
--hash=sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask
cachelib==0.13.0 \
--hash=sha256:209d8996e3c57595bee274ff97116d1d73c4980b2fd9a34c7846cd07fd2e1a48 \
--hash=sha256:8c8019e53b6302967d4e8329a504acf75e7bc46130291d30188a6e4e58162516
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask-caching
certifi==2026.4.22 \
--hash=sha256:3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a \
--hash=sha256:8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# requests
cffi==2.1.0 \
--hash=sha256:02cb7ff33ded4f1532476731f89ede53e2e488a8e6205515a82144246ffa7dcc \
@@ -141,7 +141,7 @@ cffi==2.1.0 \
--hash=sha256:fb62edb5bb52cca65fab91a63afa7561607120d26090a7e8fda6fb9f064726da \
--hash=sha256:ff067a8d8d880e7809e4ac88eb009bb848870115317b306666502ccad30b147f
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# cryptography
charset-normalizer==3.4.7 \
--hash=sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc \
@@ -274,13 +274,13 @@ charset-normalizer==3.4.7 \
--hash=sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79 \
--hash=sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# requests
click==8.3.3 \
--hash=sha256:398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2 \
--hash=sha256:a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask
colorama==0.4.6 ; sys_platform == 'win32' \
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
@@ -333,22 +333,22 @@ cryptography==50.0.0 \
--hash=sha256:f59e38625469987d7ef6d495323c55e7db6c212eaf6112267e0d3b565a2e9c9f \
--hash=sha256:f89831ef99dd7dd169ab06d63a831adb9e20a87aac6d380266bbda5823349169 \
--hash=sha256:fd9192b7b70c573d7f214eb1ae35e00d359f6f5e4b27c7e21e30de1fc6204645
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
dnspython==2.8.0 \
--hash=sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af \
--hash=sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# email-validator
email-validator==2.3.0 \
--hash=sha256:80f13f623413e6b197ae73bb10bf4eb0908faf509ad8362c5edeb0be7fd450b4 \
--hash=sha256:9fc05c37f2f6cf439ff414f8fc46d917929974a82244c20eb10231ba60c54426
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
flask==3.1.3 \
--hash=sha256:0ef0e52b8a9cd932855379197dd8f94047b359ca0a78695144304cb45f87c9eb \
--hash=sha256:f4bcbefc124291925f1a26446da31a5178f9483862233b23c0c96a20701f670c
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask-caching
# flask-cors
# flask-jwt-extended
@@ -358,28 +358,28 @@ flask==3.1.3 \
flask-caching==2.4.0 \
--hash=sha256:a7f14e43617cd0612a57bec2f80516d6d2ec888bfc50a807b1e4e41ca345a3b5 \
--hash=sha256:d15b8135f055c4f28f6f7dbcf8d36a3de4af1224def975ae6e0b43cbfa684486
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
flask-cors==6.0.2 \
--hash=sha256:6e118f3698249ae33e429760db98ce032a8bf9913638d085ca0f4c5534ad2423 \
--hash=sha256:e57544d415dfd7da89a9564e1e3a9e515042df76e12130641ca6f3f2f03b699a
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
flask-jwt-extended==4.7.3 \
--hash=sha256:905ac807b52b5409bc9244dbcca434968c13ca6f9d91bffe7d4cb71e0e6231cb \
--hash=sha256:a8318a3d983d1f360724b901889f1947ffee418e2a3950b48e99c70923b6615e
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
flask-marshmallow==1.5.0 \
--hash=sha256:7c06b56e41647eccdb3cd57c25b109f19191b4c62509362bd64920cdf601a066 \
--hash=sha256:99951c77e5654111ed733811c6dc9310bfb4c3688c78a9e76f80b5ae0b2279a6
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
flask-migrate==4.1.0 \
--hash=sha256:1a336b06eb2c3ace005f5f2ded8641d534c18798d64061f6ff11f79e1434126d \
--hash=sha256:24d8051af161782e0743af1b04a152d007bad9772b2bca67b7ec1e8ceeb3910d
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
flask-sqlalchemy==3.1.1 \
--hash=sha256:4ba4be7f419dc72f4efd8802d69974803c37259dd42f3913b0dcf75c9447e0a0 \
--hash=sha256:e4b68bb881802dda1a7d878b2fc84c06d1ee57fb40b874d3dc97dabfa36b8312
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask-migrate
greenlet==3.5.0 \
--hash=sha256:0ecec963079cd58cbd14723582384f11f166fd58883c15dcbfb342e0bc9b5846 \
@@ -442,32 +442,32 @@ greenlet==3.5.0 \
--hash=sha256:f8c30c2225f40dd76c50790f0eb3b5c7c18431efb299e2782083e1981feed243 \
--hash=sha256:fa94cb2288681e3a11645958f1871d48ee9211bd2f66628fdace505927d6e564
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# sqlalchemy
idna==3.13 \
--hash=sha256:585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242 \
--hash=sha256:892ea0cde124a99ce773decba204c5552b69c3c67ffd5f232eb7696135bc8bb3
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# email-validator
# requests
itsdangerous==2.2.0 \
--hash=sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef \
--hash=sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask
jinja2==3.1.6 \
--hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
--hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask
mako==1.3.12 \
--hash=sha256:8f61569480282dbf557145ce441e4ba888be453c30989f879f0d652e39f53ea9 \
--hash=sha256:9f778e93289bd410bb35daadeb4fc66d95a746f0b75777b942088b7fd7af550a
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# alembic
markupsafe==3.0.3 \
--hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \
@@ -560,7 +560,7 @@ markupsafe==3.0.3 \
--hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \
--hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask
# jinja2
# mako
@@ -569,13 +569,13 @@ marshmallow==4.3.0 \
--hash=sha256:46c4fe6984707e3cbd485dfebbf0a59874f58d695aad05c1668d15e8c6e13b46 \
--hash=sha256:fb43c53b3fe240b8f6af37223d6ef1636f927ad9bea8ab323afad95dff090880
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask-marshmallow
# marshmallow-sqlalchemy
marshmallow-sqlalchemy==1.5.0 \
--hash=sha256:3865232672f3dd38c4d5e4e85fdedce76904200742c3594948a2d11d0af93258 \
--hash=sha256:e51192c204770645a2fab0d72f44f8789272eef75951f84b1608d6b4b0bfe0e6
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
mysql-connector-python==9.7.0 \
--hash=sha256:079ce68d617250ef5cefffd5243056dc9f87c6034c804235fd6f45a0daf5a6ae \
--hash=sha256:15106ed73d74487f86de6b1859ff7f362efca7c7f9c494497ccb7439d3139fe6 \
@@ -603,31 +603,31 @@ mysql-connector-python==9.7.0 \
--hash=sha256:e3842ecd62391a28c1dda5eb817f40418715e68482a8c146b3c478ac8bb7a23f \
--hash=sha256:ea4e05ab864ab8b0b5066d885d89ca51e5ba1320dba520c20a6f9388a8eca022 \
--hash=sha256:ee90c5f44f706f012be17f03f6ad158ff96e7f2dcc077896fe4537d3d28b3cf4
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
pycparser==3.0 \
--hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \
--hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# cffi
pyjwt==2.12.1 \
--hash=sha256:28ca37c070cad8ba8cd9790cd940535d40274d22f80ab87f3ac6a713e6e8454c \
--hash=sha256:c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask-jwt-extended
pymysql==1.1.3 \
--hash=sha256:8164ba62c552f6105f3b11753352d0f16b90d1703ba67d81923d5a8a5d1c5289 \
--hash=sha256:e70ebf2047a4edf6138cf79c68ad418ef620af65900aa585c5e8bfc95044d43a
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
python-dotenv==1.2.2 \
--hash=sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a \
--hash=sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
requests==2.33.1 \
--hash=sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517 \
--hash=sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
sqlalchemy==2.0.49 \
--hash=sha256:01146546d84185f12721a1d2ce0c6673451a7894d1460b592d378ca4871a0c72 \
--hash=sha256:059d7151fff513c53a4638da8778be7fce81a0c4854c7348ebd0c4078ddf28fe \
@@ -693,40 +693,40 @@ sqlalchemy==2.0.49 \
--hash=sha256:ec44cfa7ef1a728e88ad41674de50f6db8cfdb3e2af84af86e0041aaf02d43d0 \
--hash=sha256:fb37f15714ec2652d574f021d479e78cd4eb9d04396dca36568fdfffb3487982
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# alembic
# flask-sqlalchemy
# marshmallow-sqlalchemy
tabulate==0.10.0 \
--hash=sha256:e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d \
--hash=sha256:f0b0622e567335c8fabaaa659f1b33bcb6ddfe2e496071b743aa113f8774f2d3
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
typing-extensions==4.15.0 \
--hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
--hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# alembic
# sqlalchemy
tzdata==2026.3 \
--hash=sha256:4a1518b8993086a7982523e071643f3c0e5f213e75b21318e78bcabfff9d1415 \
--hash=sha256:dc096730c87af6cab1b171c9d532be840741ff5d459015e7f6947bd7d7e54931
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
urllib3==2.7.0 \
--hash=sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c \
--hash=sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# requests
waitress==3.0.2 \
--hash=sha256:682aaaf2af0c44ada4abfb70ded36393f0e307f4ab9456a215ce0020baefc31f \
--hash=sha256:c56d67fd6e87c2ee598b76abdd4e96cfad1f24cacdea5078d382b1f9d7b5ed2e
# via -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# via -r requirements.in
werkzeug==3.1.8 \
--hash=sha256:63a77fb8892bf28ebc3178683445222aa500e48ebad5ec77b0ad80f8726b1f50 \
--hash=sha256:9bad61a4268dac112f1c5cd4630a56ede601b6ed420300677a869083d70a4c44
# via
# -r /tmp/claude-1000/-home-camp-projects/284ab26c-19f5-4dcf-8631-ed7edab74218/scratchpad/req-pinned.in
# -r requirements.in
# flask
# flask-cors
# flask-jwt-extended