diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 02b2c119..0af349f6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,14 +1,15 @@ name: Release on: - push: - tags: - - "*.*.*" + workflow_dispatch: jobs: release: name: Release runs-on: ubuntu-latest + permissions: + id-token: write + contents: write steps: - name: Checkout code uses: actions/checkout@v4 @@ -17,11 +18,18 @@ jobs: with: python-version: "3.10" - name: Install Poetry - run: curl -sSL https://install.python-poetry.org | python - -y + run: | + curl -sSL https://install.python-poetry.org | python - -y + poetry install + - name: Release + run: | + poetry run semantic-release version + poetry run semantic-release publish + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Build run: poetry build - name: Publish env: POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }} - run: - poetry publish + run: poetry publish diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..fb4cebec --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,278 @@ +## To be released + +- feat: hex to rgb (#213) ([`b5ab5e2`](https://github.com/unfoldadmin/django-unfold/commit/b5ab5e2e024e57935e8a9ffa06fba81f69238e49)) +- fix: component typo (#212) ([`ed2fadc`](https://github.com/unfoldadmin/django-unfold/commit/ed2fadc92aabd53707286a2ed950783dea6f5920)) + +## 0.17.1 (2023-11-24) + +- feat: tailwind safelist (#205) ([`bab896d`](https://github.com/unfoldadmin/django-unfold/commit/bab896ddb708ada2cf8ce414b2f9f5c05674ec97)) + +## 0.17.0 (2023-11-21) + +- feat: labels redesign (#202) ([`fedd594`](https://github.com/unfoldadmin/django-unfold/commit/fedd5947f227e5c5b9f496fc45aed4ad5eba73c1)) +- feat: show/hide history & view on site (#201) ([`edb5932`](https://github.com/unfoldadmin/django-unfold/commit/edb5932f2d8914f79790122099799f600a53be6b)) +- feat: disable search autofocus (#200) ([`5a940bc`](https://github.com/unfoldadmin/django-unfold/commit/5a940bcb6f17e115b92f4496f5f72deea679bbb9)) +- feat: fieldsets typing (#195) ([`013c8f2`](https://github.com/unfoldadmin/django-unfold/commit/013c8f2d52b1ae75baad77d50fae5357df1b5304)) +- feat: ruff format (#196) ([`98ca4b3`](https://github.com/unfoldadmin/django-unfold/commit/98ca4b3e388887ab4b6a4928d6379f50214531da)) +- fix: file upload (#203) ([`a0564d7`](https://github.com/unfoldadmin/django-unfold/commit/a0564d798e94e9f01c53dc845d9be158ff596a86)) +- fix: site icon/logo modes (#194) ([`badb964`](https://github.com/unfoldadmin/django-unfold/commit/badb9645dbd2784a2bd9baaecf91d3442808e14d)) + +## 0.16.0 (2023-11-11) + +- feat: environment label (#189) ([`31e9c20`](https://github.com/unfoldadmin/django-unfold/commit/31e9c20b052ae5870531c0b189230d3b823e977f)) +- fix: submit line width (#193) ([`2321ecb`](https://github.com/unfoldadmin/django-unfold/commit/2321ecbafee6b6a56af00e893396aea9d1bfc272)) +- fix: object history (#191) ([`221f9e6`](https://github.com/unfoldadmin/django-unfold/commit/221f9e61f6f1bbf97033d9b798b8db9470077907)) +- chore: screenshots (#192) ([`a4bac55`](https://github.com/unfoldadmin/django-unfold/commit/a4bac556b7425fd60104d8fa8881d8434867021f)) + +## 0.15.1 (2023-11-03) + +- fix: tailwind safelist ([`3bf32a2`](https://github.com/unfoldadmin/django-unfold/commit/3bf32a2ae30db8cd318868d884ef76f47a9f1dcc)) + +## 0.15.0 (2023-11-03) + +- feat: components (#171) ([`df794ce`](https://github.com/unfoldadmin/django-unfold/commit/df794ceeeb98f2d968bb37d158909f48473b4207)) +- chore(deps): bump django from 3.2.20 to 3.2.23 (#178) ([`54c8b56`](https://github.com/unfoldadmin/django-unfold/commit/54c8b56fd91389a32739917c9660dff813599cb5)) + +## 0.14.2 (2023-10-31) + +- chore: project deps update (#175) ([`66eb40d`](https://github.com/unfoldadmin/django-unfold/commit/66eb40dcb261c06bf0a78bf7dee2623009c69dc9)) + +## 0.14.1 (2023-10-31) + +- fix: nav global display in tab list (#174) ([`f43ce20`](https://github.com/unfoldadmin/django-unfold/commit/f43ce20f9dce436f9bdb4b76baf8c494e9623147)) + +## 0.14.0 (2023-10-29) + +- feat: scrollbar improvement (#168) ([`5328f78`](https://github.com/unfoldadmin/django-unfold/commit/5328f781e8459c65b87ba9d2069223888a59ba6a)) +- feat: global links (#163) ([`5c207b8`](https://github.com/unfoldadmin/django-unfold/commit/5c207b862f9da90841b363dcebb8f9d9e4b3dcf9)) +- fix: readonly field label (#167) ([`b002d9b`](https://github.com/unfoldadmin/django-unfold/commit/b002d9be001c507fcffc8433700c2f08d648c9ea)) + +## 0.13.0 (2023-10-21) + +- feat: django-simple-history support (#153) ([`8776908`](https://github.com/unfoldadmin/django-unfold/commit/8776908d22ede9d9bea84e01c93f363dda176b09)) +- feat: django-guardian support (#152) ([`69cc922`](https://github.com/unfoldadmin/django-unfold/commit/69cc92296b51653e78e5226a23e42d55ea19ea33)) +- feat: readonly json field formatting (#151) ([`9cb1be8`](https://github.com/unfoldadmin/django-unfold/commit/9cb1be88755956c49717981e2426ef6ecdd4425c)) +- feat: license markdown (#150) ([`8fcd691`](https://github.com/unfoldadmin/django-unfold/commit/8fcd691e876489176f71f6e2c290a353e8f2faa8)) +- feat: radio styles (#148) ([`79c3f53`](https://github.com/unfoldadmin/django-unfold/commit/79c3f53081ff0134e9329b8bb2cdf64af3ab90f1)) +- feat: dependabot config (#147) ([`8ea579f`](https://github.com/unfoldadmin/django-unfold/commit/8ea579f14a0110c7e7ef589f10286267ecf00ceb)) +- feat: python 3.12 support (#146) ([`80b4c13`](https://github.com/unfoldadmin/django-unfold/commit/80b4c137bc549d43cf8c109037d873433b59457d)) +- fix: tailwind missing color weight (#158) ([`03a5153`](https://github.com/unfoldadmin/django-unfold/commit/03a5153c126ad1f13e78f45fe09e6c68b9480a28)) +- fix: tailwind 950 color (#155) ([`c03b119`](https://github.com/unfoldadmin/django-unfold/commit/c03b1195cd453344b3154d9ac88c627e4a35c054)) +- fix: additional color weight (#154) ([`788ee80`](https://github.com/unfoldadmin/django-unfold/commit/788ee809bdf14c48ba0452a07d12f4d4c05f7261)) +- docs: overall improvements (#156) ([`1d2d564`](https://github.com/unfoldadmin/django-unfold/commit/1d2d5647b76030d1d56d6bd774862b50d55fc6aa)) +- chore(deps): bump actions/checkout from 3 to 4 (#149) ([`fb6f59a`](https://github.com/unfoldadmin/django-unfold/commit/fb6f59a4d2d11e25b77e8a099dd85d986b474fe1)) +- chore: precommit autoupdate ([`73cd712`](https://github.com/unfoldadmin/django-unfold/commit/73cd7122f713722eca5b3c8af9699d9a16995a7e)) + +## 0.12.0 (2023-10-08) + +- feat: header text prefix (#141) ([`f94be70`](https://github.com/unfoldadmin/django-unfold/commit/f94be703404339ebd4b86088fe9d2cb8bdd3757e)) +- fix: fieldset description text (#142) ([`2d86f11`](https://github.com/unfoldadmin/django-unfold/commit/2d86f117c011049097af043dee3a6e9353a72e92)) +- chore(deps): bump postcss from 8.4.18 to 8.4.31 (#144) ([`9a47adf`](https://github.com/unfoldadmin/django-unfold/commit/9a47adfd5d042e3e64e829e1696e081e0d28d2ca)) + +## 0.11.0 (2023-09-30) + +- feat: color widget (#138) ([`d1b0872`](https://github.com/unfoldadmin/django-unfold/commit/d1b08725ac06fa156f13195b92363b09a940f0a5)) +- feat: navigations tests (#130) ([`59bf35e`](https://github.com/unfoldadmin/django-unfold/commit/59bf35eb4ffa87b120aef253653e27a9e7a27bbc)) +- fix: filters validation (#139) ([`58ef114`](https://github.com/unfoldadmin/django-unfold/commit/58ef1146afcedc071ee81faee35f65dd28903aca)) +- fix: lazy callbacks (#137) ([`6b07dbd`](https://github.com/unfoldadmin/django-unfold/commit/6b07dbd1fb60875322ad38ca81c0dc24b16ee4c7)) + +## 0.10.0 (2023-09-22) + +- feat: imagefield linked pictures (#126) ([`d367862`](https://github.com/unfoldadmin/django-unfold/commit/d3678623044e3aee8f9ccca22a0eeae03fdcc04e)) +- feat: open site links in new tab (#119) ([`f47c147`](https://github.com/unfoldadmin/django-unfold/commit/f47c147a501cfa3789975f30e6dc948fde37ef75)) +- fix: clearable file input dark mode (#129) ([`9365364`](https://github.com/unfoldadmin/django-unfold/commit/9365364a214f666fee800385f456fb7070b0f348)) +- fix: responsive actions and search filter (#128) ([`6866350`](https://github.com/unfoldadmin/django-unfold/commit/6866350ea3e30c8fb37483319ab2a9bd4509e067)) +- fix: select multiple truncate & spacing (#127) ([`d813954`](https://github.com/unfoldadmin/django-unfold/commit/d8139542a2c8f5dc630ce186d82b602f5e6d9444)) +- chore: compiled styles ([`56aebc3`](https://github.com/unfoldadmin/django-unfold/commit/56aebc39581d4723b58a0d969b6a979716d5148c)) + +## 0.9.0 (2023-09-15) + +- feat: django-money support (#118) ([`a990cf1`](https://github.com/unfoldadmin/django-unfold/commit/a990cf1b6ffc8295675bd60f797285004d323181)) +- docs: demo repository links (#117) ([`8e2830c`](https://github.com/unfoldadmin/django-unfold/commit/8e2830caa7c08b89f58a1378fa4ce2894622953a)) + +## 0.8.0 (2023-08-27) + +- feat: dropped python 3.7 (#111) ([`bbb38a8`](https://github.com/unfoldadmin/django-unfold/commit/bbb38a86aab5f4b5b3455b5f9a3d5848e509efd9)) +- fix: hasattr readonly fields (#110) ([`295a6cc`](https://github.com/unfoldadmin/django-unfold/commit/295a6cc396ea5349593917c8bcea66ef42083b42)) +- fix: file input focus (#103) ([`28d73c3`](https://github.com/unfoldadmin/django-unfold/commit/28d73c328d9b0c0a60ae8b68d0e5cbb05139a55e)) + +## 0.7.0 (2023-07-22) + +- feat: all applications alpine (#101) ([`c6a4bcd`](https://github.com/unfoldadmin/django-unfold/commit/c6a4bcd9fb6bc42988cb33c0169b34086f4d0298)) +- feat: python 3.11 (#98) ([`2c6ef91`](https://github.com/unfoldadmin/django-unfold/commit/2c6ef918440c759ad93ddefcf379b12f1e7aea28)) +- feat: action button colors (#97) ([`1650d66`](https://github.com/unfoldadmin/django-unfold/commit/1650d66a407e0d5258090f43e4ac7d980403eb4e)) +- fix: app index template (#102) ([`1cf5af2`](https://github.com/unfoldadmin/django-unfold/commit/1cf5af25a6ee9349a46cb8607785bd20a11b173f)) +- docs: badges (#100) ([`1be9d02`](https://github.com/unfoldadmin/django-unfold/commit/1be9d028d639215b8d5b138486c55b65c24ed985)) +- docs: display label (#96) ([`8d0920a`](https://github.com/unfoldadmin/django-unfold/commit/8d0920a4591982f209d26a6ecc9f19088003fbfc)) +- chore: styles location (#99) ([`8e935f7`](https://github.com/unfoldadmin/django-unfold/commit/8e935f7edae7fae56a2900783b503a54ae0108fa)) + +## 0.6.9 (2023-07-11) + +- feat: compat with python3.7 (#93) ([`5248a6a`](https://github.com/unfoldadmin/django-unfold/commit/5248a6a100d32cdf6573eaabbb324dba166ba225)) +- fix: poetry error when used as a local dependency (#88) ([`eac6010`](https://github.com/unfoldadmin/django-unfold/commit/eac6010c9468f4de7c329822ec515f6c08cb8261)) +- fix: improved boolean visibility ([`afae153`](https://github.com/unfoldadmin/django-unfold/commit/afae15378aecc87c4c68cd3d54486672f7532a93)) +- chore(deps): bump django from 3.2.19 to 3.2.20 (#95) ([`a124101`](https://github.com/unfoldadmin/django-unfold/commit/a1241011e8d05b55ae9bddd44605589833adae07)) + +## 0.6.8 (2023-07-02) + +- feat: add object button available in changeform ([`2a62b64`](https://github.com/unfoldadmin/django-unfold/commit/2a62b642522e83b7cc2d6cb3ed1a7e31ce7005a5)) +- fix: missing primary color ([`2987755`](https://github.com/unfoldadmin/django-unfold/commit/298775546e47f1032b35563578cfb5614b46873b)) +- fix: display header text alignment ([`350e44b`](https://github.com/unfoldadmin/django-unfold/commit/350e44be3efb652d346ff69adb4084283c41c11f)) + +## 0.6.7 (2023-06-25) + +- feat: improved filters open/close handling ([`9f607c5`](https://github.com/unfoldadmin/django-unfold/commit/9f607c571cd354a68c11ffa0e2fb5bdc23b53830)) +- feat: checkbox focus ([`d31c357`](https://github.com/unfoldadmin/django-unfold/commit/d31c357db8fc9a39f4ea2c66c2733c42f3c25d2c)) +- fix: responsive filter button ([`5ba45f8`](https://github.com/unfoldadmin/django-unfold/commit/5ba45f8875cf4d2a6cddddd46917c5d238b926dd)) + +## 0.6.6 (2023-06-23) + +- feat: userlinks templates refactoring ([`b86d78d`](https://github.com/unfoldadmin/django-unfold/commit/b86d78d5de2fadd56d6e5aab7653ffb55af95190)) +- feat: date/time fields redesign ([`a68af6b`](https://github.com/unfoldadmin/django-unfold/commit/a68af6baa007542787d7a385d8ed5ee1431b626a)) +- feat: test flow (#80) ([`d6e9d90`](https://github.com/unfoldadmin/django-unfold/commit/d6e9d90eb85ee4559e2616f3d98e49fe5f6cdc04)) +- feat: release flow (#77) ([`90ab7f9`](https://github.com/unfoldadmin/django-unfold/commit/90ab7f9c99b593a6478652387b5aa9ca92d3d417)) +- feat(docs): credits ([`c97cf83`](https://github.com/unfoldadmin/django-unfold/commit/c97cf83eefb21db42ab3d3b1df339d00a8cce1ad)) +- feat: import export support (#67) ([`576d428`](https://github.com/unfoldadmin/django-unfold/commit/576d428d6bc04107413340732b08ece71687e59c)) +- feat: homepage link ([`e1a2713`](https://github.com/unfoldadmin/django-unfold/commit/e1a27139f3b497303ecfaa55899985b6162766b1)) +- feat: htmx & alpinejs update ([`9578bbe`](https://github.com/unfoldadmin/django-unfold/commit/9578bbe8fe187eac56f5a90d5757db99c127e6aa)) +- feat: Multielement rows support (#58) ([`a44c93b`](https://github.com/unfoldadmin/django-unfold/commit/a44c93ba32abf7328443884fe45cf194dd0bfb70)) +- feat: hide history section if empty ([`e1da167`](https://github.com/unfoldadmin/django-unfold/commit/e1da167c53ece9d31e6c039b6fa5eae9d2239e72)) +- feat: login button ([`149a870`](https://github.com/unfoldadmin/django-unfold/commit/149a870a3e6ab95a6037d2b41aaf71be1d9bfe90)) +- feat: tailwind update ([`0129998`](https://github.com/unfoldadmin/django-unfold/commit/01299985009da2125811a6cd47145cddf39bec56)) +- feat: site symbol support ([`116a179`](https://github.com/unfoldadmin/django-unfold/commit/116a17932b128ec17b8304548abba85b19ea51b5)) +- feat: date / time fields improvements ([`63bd9ed`](https://github.com/unfoldadmin/django-unfold/commit/63bd9edf3928ad3f2300af9f3a598a456c96e14b)) +- feat: multi site support ([`9e59690`](https://github.com/unfoldadmin/django-unfold/commit/9e596902b313eda1926e592a32a1da9879e97599)) +- feat: dark mode switcher (#43) ([`4359cea`](https://github.com/unfoldadmin/django-unfold/commit/4359cea8a5d1d41d81424e8478a73a0f7c79bdde)) +- feat: ruff integration (#42) ([`3aca1d4`](https://github.com/unfoldadmin/django-unfold/commit/3aca1d4d4a04c856121c6a8d86757a7d743ea10c)) +- feat: logout screen ([`22918d4`](https://github.com/unfoldadmin/django-unfold/commit/22918d431af47fab5094fa73625896ab1d14ad6a)) +- feat: username in userlinks (#39) ([`b796519`](https://github.com/unfoldadmin/django-unfold/commit/b796519bd9688e0a249c7b28b3c05566beeaccb3)) +- feat: Styling of non-field errors for Admin, TabularInline and StackedInline (#37) ([`05348dd`](https://github.com/unfoldadmin/django-unfold/commit/05348ddec3e49c5ebb5b0b8e8c997f71c7e02636)) +- feat: prose classes ([`302ba3a`](https://github.com/unfoldadmin/django-unfold/commit/302ba3ada4381a01404722cd21424d73e24c89e9)) +- feat: wysiwyg support (#35) ([`28e6f28`](https://github.com/unfoldadmin/django-unfold/commit/28e6f28b48af0f6b0eb596ca51ff4755d2b30d57)) +- feat: readonly fields preprocessing ([`14e8501`](https://github.com/unfoldadmin/django-unfold/commit/14e85019fd5f9c25971760e154715c83945603ec)) +- feat: dropdown refactoring into alpine ([`3a54703`](https://github.com/unfoldadmin/django-unfold/commit/3a54703ecf11ecae0e1165928fa2b061a6f75e23)) +- feat: toggle sidebar (#30) ([`a1452a0`](https://github.com/unfoldadmin/django-unfold/commit/a1452a0c6d31656c0916910fc4c5a278f8299c9a)) +- feat: darkmode support (#26) ([`4414a0b`](https://github.com/unfoldadmin/django-unfold/commit/4414a0b2b0daea09861663ebec34d4ace9de1284)) +- feat: use Dockerfile to build Tailwind CSS (#23) ([`b1b3efc`](https://github.com/unfoldadmin/django-unfold/commit/b1b3efc14c4cac5e7cd06571c84a263f863a5e3e)) +- feat: form inputs with errors ([`b4e4a23`](https://github.com/unfoldadmin/django-unfold/commit/b4e4a2362afa64cca466908963bec430105e005c)) +- feat: tailwind 3.2 update ([`d94f9b2`](https://github.com/unfoldadmin/django-unfold/commit/d94f9b21b05d811402b26cb71f4f02f7cfd1435d)) +- feat: Request passed into actions_submit_line (#18) ([`31f5649`](https://github.com/unfoldadmin/django-unfold/commit/31f5649dd67f02db4aff334adfd9234531d72a9f)) +- feat: daterange filters ([`e096bd3`](https://github.com/unfoldadmin/django-unfold/commit/e096bd30300942cde0fd1b377814b8aa2eb3c020)) +- feat: filters ([`3e7257b`](https://github.com/unfoldadmin/django-unfold/commit/3e7257b34eb5e4107b8412f210e04eaa0774d58a)) +- feat: form errors template ([`3ddda39`](https://github.com/unfoldadmin/django-unfold/commit/3ddda3924efef5f648a80b57c6fc9dc2d0fe3d94)) +- feat: basic m2m widget support (#4) ([`ceb5647`](https://github.com/unfoldadmin/django-unfold/commit/ceb56471f136b4fe728363866d2280fb2fddcf5a)) +- feat: ignore dist/ folder ([`b72618a`](https://github.com/unfoldadmin/django-unfold/commit/b72618a29128880951acee5d24aceaeb5bc0611c)) +- feat: labels as list/tuple support ([`8a90c16`](https://github.com/unfoldadmin/django-unfold/commit/8a90c16a3484e803728afb35c8e8bdd77768a423)) +- fix: theme switch alpine variable ([`af9b6b6`](https://github.com/unfoldadmin/django-unfold/commit/af9b6b6fef0c44b9d03f663c93a14d0a98a3e09c)) +- fix: force loading translations ([`4ea3146`](https://github.com/unfoldadmin/django-unfold/commit/4ea31467c37b45bbf61ba817d2a027f43e32c2ce)) +- fix: filter spacing ([`4f4d377`](https://github.com/unfoldadmin/django-unfold/commit/4f4d377d8e918902c9b82eee2abe6f6b1d7a2b9e)) +- fix: system dark mode support ([`3c6fe43`](https://github.com/unfoldadmin/django-unfold/commit/3c6fe43b2b36cf03f850760ffecdb0272a284ffd)) +- fix: boolean has always red dot (#82) ([`0d0af5c`](https://github.com/unfoldadmin/django-unfold/commit/0d0af5cfbea0b3eebb5325ed6157565e8c469bcb)) +- fix: safari row actions width ([`05b4fda`](https://github.com/unfoldadmin/django-unfold/commit/05b4fdadde267eaafc80d91e7b3a0ded4bea54c5)) +- fix: select2 open state ([`1e15720`](https://github.com/unfoldadmin/django-unfold/commit/1e15720c59f1d12edad81a63e1bd8e76ba9b628b)) +- fix: trix spacing ([`177620f`](https://github.com/unfoldadmin/django-unfold/commit/177620f7c72be3f0f3fcf3180f65f2a4965e97a7)) +- fix: TypeError: type 'ForeignKey' is not subscriptable (#73) ([`baeec5d`](https://github.com/unfoldadmin/django-unfold/commit/baeec5da0d469ae7fe0a8c38aea2cb6f3ac1283c)) +- fix: calendarbox / clockbox overlay ([`b274dc6`](https://github.com/unfoldadmin/django-unfold/commit/b274dc6a629568bbf45993d34d871a4982d1ad78)) +- fix: trix mobile resolution ([`b5a441d`](https://github.com/unfoldadmin/django-unfold/commit/b5a441d5ed39ab66fe80de3a37c29169692b4830)) +- fix: changelist missing checkbox border ([`f89e7a4`](https://github.com/unfoldadmin/django-unfold/commit/f89e7a4262ef3e9bfc2ad67432fdaf4432636f7f)) +- fix: readonly submit line ([`1d6eb34`](https://github.com/unfoldadmin/django-unfold/commit/1d6eb343855ce004c7cde1ef16bb2136a094811c)) +- fix: info message ([`dc0ec29`](https://github.com/unfoldadmin/django-unfold/commit/dc0ec2927169ecd1d08b902049005562d151f2c5)) +- fix: dark mode input focus ([`64986a6`](https://github.com/unfoldadmin/django-unfold/commit/64986a60f5721d5ab0c675691a9901860a751eb0)) +- fix: change password dark mode link color ([`a356aee`](https://github.com/unfoldadmin/django-unfold/commit/a356aee0b78f45dcecce155aeca59e52bb894527)) +- fix: wysiwyg docs and styling ([`ff30ccb`](https://github.com/unfoldadmin/django-unfold/commit/ff30ccb588e444fca66e07afc28e9df488374726)) +- fix: dark mode theme switch color ([`0e152b9`](https://github.com/unfoldadmin/django-unfold/commit/0e152b9ee2d0b012e502edac9d732ad49f817303)) +- fix: icons width ([`15c02b8`](https://github.com/unfoldadmin/django-unfold/commit/15c02b865bf4dad4bba04c4babafaeec02f8f621)) +- fix: admin theme switch ([`fda7060`](https://github.com/unfoldadmin/django-unfold/commit/fda706097ff9f8bec0f47a93ec21f805ff551eb8)) +- fix: actions row ([`3749c54`](https://github.com/unfoldadmin/django-unfold/commit/3749c549e0abbb6f88737f668fa0f6753ffc54d4)) +- fix: spacing in object tools ([`f343b7e`](https://github.com/unfoldadmin/django-unfold/commit/f343b7e7c692ed1e0ad13d4b2ec627aad6806575)) +- fix: responsive actions holder ([`d649685`](https://github.com/unfoldadmin/django-unfold/commit/d649685966d3596a1913d232d998fd5732bf65b5)) +- fix: related widget ([`76c7f58`](https://github.com/unfoldadmin/django-unfold/commit/76c7f58c134c8ffb92f6b2d8c719d678a3ec0e65)) +- fix: action types ([`d74d622`](https://github.com/unfoldadmin/django-unfold/commit/d74d622718781fca122ca6e419c17903cd02d136)) +- fix: types ([`b177c3f`](https://github.com/unfoldadmin/django-unfold/commit/b177c3f4ca1395ecdde0eb9d72fcab4fc05f048b)) +- fix: responsive search field ([`6304f96`](https://github.com/unfoldadmin/django-unfold/commit/6304f96674c47f020c60c4d40c817c5b04b5ea14)) +- fix: responsive search field ([`ad101bf`](https://github.com/unfoldadmin/django-unfold/commit/ad101bfa12b28123f3d9682198bdc848b1f1298f)) +- fix: icon hover color ([`d6484f9`](https://github.com/unfoldadmin/django-unfold/commit/d6484f9b0f2e06371138cfd45dcafdbf26e882d2)) +- fix: related field width ([`d8b2ee2`](https://github.com/unfoldadmin/django-unfold/commit/d8b2ee2be01a3325d8c103b003cf58312d79088d)) +- fix: empty div for help_text ([`6c415b4`](https://github.com/unfoldadmin/django-unfold/commit/6c415b4301504ef4193d2bf74ef76840e678c5c2)) +- fix: allow to override login_form in custom site ([`8a3b97d`](https://github.com/unfoldadmin/django-unfold/commit/8a3b97d599541eef6a01f9010af3cb4d22a1f1c5)) +- fix: datetime widget margin and dark mode ([`53f4970`](https://github.com/unfoldadmin/django-unfold/commit/53f4970ed50a34ab3a61f06a5c260f07e8b7d1af)) +- fix: selector footer text ([`e353763`](https://github.com/unfoldadmin/django-unfold/commit/e353763b7a4471fccc4b05fbf962b1ec7c4fa959)) +- fix: filter button height ([`dbd7fdc`](https://github.com/unfoldadmin/django-unfold/commit/dbd7fdcfcde621978000733d7679fbb0b30f5377)) +- fix: changelist top actions display ([`11796f5`](https://github.com/unfoldadmin/django-unfold/commit/11796f593f62691500f4c3cf3d5f2a7d6bfd3962)) +- fix: empty values display ([`714847d`](https://github.com/unfoldadmin/django-unfold/commit/714847d35af7a83f51ae24196734a26e62649fdd)) +- fix: not installed psycopg ([`5cb539e`](https://github.com/unfoldadmin/django-unfold/commit/5cb539ee06d147fc3706884bddb44b1b0233cdfb)) +- fix: trix map reference ([`dbb11b6`](https://github.com/unfoldadmin/django-unfold/commit/dbb11b6f24841024d2268843a846b6cc22148d36)) +- fix: dark mode colors ([`2636a7c`](https://github.com/unfoldadmin/django-unfold/commit/2636a7c9c28a895dc47f37f97ee1e3e476cf34ad)) +- fix: default dark mode css classes ([`9d798c0`](https://github.com/unfoldadmin/django-unfold/commit/9d798c06d598b21c51ac8d45d17e9937213a24c8)) +- fix: prose classes for ul, li ([`67fc0a7`](https://github.com/unfoldadmin/django-unfold/commit/67fc0a78726b88c169da51642f7690cb47651e7a)) +- fix: create user account message in dark mode ([`26c0769`](https://github.com/unfoldadmin/django-unfold/commit/26c0769abefe69d8a27e6c46b3d67ba950846f7f)) +- fix: clearable file input in dark mode ([`c429736`](https://github.com/unfoldadmin/django-unfold/commit/c429736b45c6a5bee13ad34579e5a625be287de7)) +- fix: delete link in stacked and tabular inlines ([`fb3f31c`](https://github.com/unfoldadmin/django-unfold/commit/fb3f31c5dc62fb9f4b94826ba5728cf90a865756)) +- fix: help tooltip in tabular inline ([`9f8002a`](https://github.com/unfoldadmin/django-unfold/commit/9f8002a3e87fd35838938c8c9cd72d1f8c806185)) +- fix: wysiwyg error state (#41) ([`5d0f2ea`](https://github.com/unfoldadmin/django-unfold/commit/5d0f2eafd99a60e772f79ff9dcc8986fd4ced15b)) +- fix: selector arrow icon ([`d4c9d7c`](https://github.com/unfoldadmin/django-unfold/commit/d4c9d7c2ca60b45110c931380e9bc45664164074)) +- fix: alpine not loaded x-cloak (#40) ([`7e7921f`](https://github.com/unfoldadmin/django-unfold/commit/7e7921f735cba85e1d7fa1f3c697e9fb889dcc26)) +- fix: readonly fields (#38) ([`0aca6e4`](https://github.com/unfoldadmin/django-unfold/commit/0aca6e44f8a838fff0cdce1ce8ae617fbfa4b886)) +- fix: readonly preprocess fields for inlines ([`e697137`](https://github.com/unfoldadmin/django-unfold/commit/e697137f54966bc144e31bebde91b4a57a094e51)) +- fix: checkbox status ([`c3b4c00`](https://github.com/unfoldadmin/django-unfold/commit/c3b4c00269580c4e231f8065b74644399659c3d2)) +- fix: FK field with error ([`ee40f10`](https://github.com/unfoldadmin/django-unfold/commit/ee40f10bc1a3ef286c5a5c1e86e64daa94aaff3e)) +- fix: submit line actions ([`701016d`](https://github.com/unfoldadmin/django-unfold/commit/701016dcc5e1599a0918c7027b2d914777b0c7ff)) +- fix: custom action button dark mode ([`b604a35`](https://github.com/unfoldadmin/django-unfold/commit/b604a3549c18f9f40ede742f61f61bbdf85b370a)) +- fix: action button in dark mode ([`388f2fd`](https://github.com/unfoldadmin/django-unfold/commit/388f2fda1fcc78555ed2757e00603acc36631589)) +- fix: filter x padding ([`5599788`](https://github.com/unfoldadmin/django-unfold/commit/5599788bc94ab9fc2bbf599476a69f423046f81d)) +- fix: filter hover ([`6043f45`](https://github.com/unfoldadmin/django-unfold/commit/6043f45f225e5c02a42520de91087bc45612d424)) +- fix: sidebar link in dark mode ([`f2da403`](https://github.com/unfoldadmin/django-unfold/commit/f2da403492984001f16699617a76f17a97b09c96)) +- fix: sidebar navigation spacing ([`a4494f4`](https://github.com/unfoldadmin/django-unfold/commit/a4494f46b5b771485c684a656988326996785e0d)) +- fix: navigation config default value ([`960f621`](https://github.com/unfoldadmin/django-unfold/commit/960f62180bb3906e66834b27c287116cb49405f7)) +- fix: selector label position ([`0649905`](https://github.com/unfoldadmin/django-unfold/commit/0649905fd50002ccd548259950870f863ec5d94b)) +- fix: breadcrumbs links ([`e8b788d`](https://github.com/unfoldadmin/django-unfold/commit/e8b788d175179913413df576e0cc3b338a2568fe)) +- fix: default sidebar state ([`d0d9d57`](https://github.com/unfoldadmin/django-unfold/commit/d0d9d575c6e39446327c3d102370cd25014dc2fb)) +- fix: responsive related widget margin ([`6c7943b`](https://github.com/unfoldadmin/django-unfold/commit/6c7943b743e1fa8998c839d1c4e87f3fc076356a)) +- fix: responsive password hash ([`cf8ad76`](https://github.com/unfoldadmin/django-unfold/commit/cf8ad7683a31aba238fa801f34d118e58b5ea302)) +- fix: tabular dark mode readonly field ([`01a409d`](https://github.com/unfoldadmin/django-unfold/commit/01a409dd90edffb88553c2ad8d8fff9e62c702b1)) +- fix: dark mode display labels ([`f1e71a9`](https://github.com/unfoldadmin/django-unfold/commit/f1e71a9a47155d1d69eb0603bf4e076da2c51bea)) +- fix: related widget wrapper visual ([`44062c7`](https://github.com/unfoldadmin/django-unfold/commit/44062c7d291935a20c16d33da3d2632050a07041)) +- fix: submit line close button styling ([`a3e8c04`](https://github.com/unfoldadmin/django-unfold/commit/a3e8c0440b7c45657f0daf856fc2c7d159500198)) +- fix: expandable textarea ([`432a741`](https://github.com/unfoldadmin/django-unfold/commit/432a741e5aebddab513f630a15165013f74ca1fe)) +- fix: close filter button ([`1afcbdb`](https://github.com/unfoldadmin/django-unfold/commit/1afcbdb17c7812b57472d412f25307491d05990b)) +- fix: unknown boolean ([`defdc46`](https://github.com/unfoldadmin/django-unfold/commit/defdc46ab4f7ff2ee026f8d410cd8ef3bbf4336a)) +- fix: long labels ([`683fbdc`](https://github.com/unfoldadmin/django-unfold/commit/683fbdc6507bfa68eb3895c296b404b7103c28bf)) +- fix: long labels ([`428b3fc`](https://github.com/unfoldadmin/django-unfold/commit/428b3fc9b8ffd2c7cb565ac50a99d738d42a7242)) +- fix: inlines adjustments ([`e9c2c15`](https://github.com/unfoldadmin/django-unfold/commit/e9c2c151581dee8fe1b7ebcf025d1c4ebb7cbc7d)) +- fix: popup improvements ([`3df4d92`](https://github.com/unfoldadmin/django-unfold/commit/3df4d927e2515c02de368d2e7c2f290b5447dde3)) +- fix: Fix "'NoneType' object has no attribute 'widget'" when M2M uses intermediary model (#10) ([`61ea6f7`](https://github.com/unfoldadmin/django-unfold/commit/61ea6f705196ca38a0412e041811a520ba707eac)) +- fix: Fixed "No records found" when 'has_add_permission' was False (#7) ([`6936182`](https://github.com/unfoldadmin/django-unfold/commit/6936182068d4ffd77a5b54d9dac9123266b5357d)) +- fix: login page background image positioning ([`7bd97ee`](https://github.com/unfoldadmin/django-unfold/commit/7bd97ee6fc3839c3e345067252cbe8daf09271df)) +- fix: change password form line height (#5) ([`c770b6f`](https://github.com/unfoldadmin/django-unfold/commit/c770b6fd78ae737c8d5b2412bf7a94533e38a4d7)) +- fix: responsive issues (#3) ([`c15de4c`](https://github.com/unfoldadmin/django-unfold/commit/c15de4c702266c5c37931d70821e6afdffbba6bd)) +- fix: ugettext_lazy -> gettext_lazy ([`716914a`](https://github.com/unfoldadmin/django-unfold/commit/716914ad99d51a866a8e389fa683abe304e01adf)) +- fix: endif in sidebar ([`775f821`](https://github.com/unfoldadmin/django-unfold/commit/775f82161e8128c6c89fb7c7e56b8ff6dbd88f05)) +- fix: display as value undefined key ([`646b9c4`](https://github.com/unfoldadmin/django-unfold/commit/646b9c441a9baa4f08db0f4c21964117cddd7a9e)) +- fix: README support on pypi ([`f7ec090`](https://github.com/unfoldadmin/django-unfold/commit/f7ec0905529f68c60f0672af832a3a460c3cbbac)) +- docs: screenshot improvements ([`fd55d68`](https://github.com/unfoldadmin/django-unfold/commit/fd55d681361ecc1cf1188606127999cdcedcf7c9)) +- docs: features improvement ([`84b1e51`](https://github.com/unfoldadmin/django-unfold/commit/84b1e51cb6ccb75a8d21888fac1b623979b9df1f)) +- docs: demo link ([`7783d81`](https://github.com/unfoldadmin/django-unfold/commit/7783d81e94d3d5d4f69f6ccb486b434584b0c322)) +- docs: features ([`7f2bebc`](https://github.com/unfoldadmin/django-unfold/commit/7f2bebcfd364a59d67fe8cdfff7d2632b506c213)) +- docs: screenshots cleanup ([`52ba3ff`](https://github.com/unfoldadmin/django-unfold/commit/52ba3ff052d82a75efcc8364a374f53315dcce09)) +- docs: screenshot ([`4d70962`](https://github.com/unfoldadmin/django-unfold/commit/4d7096210bd900c93762dfc7318a5c4da3afe02a)) +- docs: actions documentation (#56) ([`4883f14`](https://github.com/unfoldadmin/django-unfold/commit/4883f145256372cfdf2d17c8928819beacab6845)) +- docs: tailwindcss build & watch ([`b79e81e`](https://github.com/unfoldadmin/django-unfold/commit/b79e81e1b064897d12ad3934a56021a046c0c78b)) +- docs: typo in filename ([`749a87c`](https://github.com/unfoldadmin/django-unfold/commit/749a87c7488789c6732a2b1ea48b76c414d8901d)) +- docs: how to register existing models ([`9823e9e`](https://github.com/unfoldadmin/django-unfold/commit/9823e9e1e89390d256b5ba368f275a972183d419)) +- docs: custom ModelAdmin in installation ([`7a2c649`](https://github.com/unfoldadmin/django-unfold/commit/7a2c64969fe521e3bd2522cf6cf7ae20ab237605)) +- docs: installation remark ([`02bc852`](https://github.com/unfoldadmin/django-unfold/commit/02bc852ec4413cdfad633f70537dff2284398f5e)) +- docs: icons library link ([`a5d1050`](https://github.com/unfoldadmin/django-unfold/commit/a5d1050cdaf05b4adfaefbf2958a2e2f2db7b018)) +- chore: precommit update ([`c7ab783`](https://github.com/unfoldadmin/django-unfold/commit/c7ab783214e13f6c063ba87f2749fa02777fb599)) +- chore(deps): bump django from 3.2.18 to 3.2.19 (#66) ([`3d4cf3b`](https://github.com/unfoldadmin/django-unfold/commit/3d4cf3bb78352a28215ceed097251f6258b5513e)) +- chore(deps): bump sqlparse from 0.4.2 to 0.4.4 (#60) ([`ac29537`](https://github.com/unfoldadmin/django-unfold/commit/ac29537460e3912b68f815a6c8f8a218df8b93a4)) +- chore: removed docker references ([`e5b1404`](https://github.com/unfoldadmin/django-unfold/commit/e5b1404f8694993048f5a08b40da346ae11020d9)) +- chore(deps): bump django from 3.2.17 to 3.2.18 (#54) ([`2e254e7`](https://github.com/unfoldadmin/django-unfold/commit/2e254e71888774b86a10a5d00ce5a20d021502e1)) +- chore(deps): bump django from 3.2.16 to 3.2.17 (#47) ([`026c190`](https://github.com/unfoldadmin/django-unfold/commit/026c190647879537a129791470531e3608d18e42)) +- chore: version ([`e70a9b0`](https://github.com/unfoldadmin/django-unfold/commit/e70a9b0c1a9769855b7def5977c87d5ec59b7568)) +- chore: license update ([`c6c6692`](https://github.com/unfoldadmin/django-unfold/commit/c6c669283e44f037f10010dc13841f26f239ba0c)) +- chore: htmx library update ([`de83a70`](https://github.com/unfoldadmin/django-unfold/commit/de83a70cd0905356a0c0a5eaaac1297e4be9a5dd)) +- chore(deps): bump django from 3.2.15 to 3.2.16 (#16) ([`6db9faa`](https://github.com/unfoldadmin/django-unfold/commit/6db9faa2b2691c75da171c21510fa67b07ed3eea)) +- chore: black formatting ([`49faffa`](https://github.com/unfoldadmin/django-unfold/commit/49faffa5a86aebe27b86ea7f589bcb38e55cbfe3)) +- chore: version ([`c1ba672`](https://github.com/unfoldadmin/django-unfold/commit/c1ba672998c670ed58771f67386f3a28ca89c743)) +- chore: improved screenshots ([`bbd2fce`](https://github.com/unfoldadmin/django-unfold/commit/bbd2fceed968120c67a265f8f2a700dae61abd3d)) +- chore(deps): bump django from 3.2.14 to 3.2.15 ([`676d963`](https://github.com/unfoldadmin/django-unfold/commit/676d96374036478b94c9e7c7c1aedc4025c5ebb5)) diff --git a/poetry.lock b/poetry.lock index ec68c5e0..188d0776 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,18 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.0 and should not be changed by hand. + +[[package]] +name = "annotated-types" +version = "0.6.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, + {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""} [[package]] name = "asgiref" @@ -28,6 +42,17 @@ files = [ {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, ] +[[package]] +name = "certifi" +version = "2023.11.17" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, + {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, +] + [[package]] name = "chardet" version = "5.1.0" @@ -39,6 +64,119 @@ files = [ {file = "chardet-5.1.0.tar.gz", hash = "sha256:0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5"}, ] +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + [[package]] name = "colorama" version = "0.4.6" @@ -81,6 +219,19 @@ sqlparse = ">=0.2.2" argon2 = ["argon2-cffi (>=19.1.0)"] bcrypt = ["bcrypt"] +[[package]] +name = "dotty-dict" +version = "1.3.0" +description = "Dictionary wrapper for quick access to deeply nested keys." +optional = false +python-versions = "*" +files = [ + {file = "dotty_dict-1.3.0.tar.gz", hash = "sha256:eb0035a3629ecd84397a68f1f42f1e94abd1c34577a19cd3eacad331ee7cbaf0"}, +] + +[package.dependencies] +setuptools_scm = "*" + [[package]] name = "exceptiongroup" version = "1.1.1" @@ -110,6 +261,66 @@ files = [ docs = ["furo (>=2023.5.20)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"] +[[package]] +name = "gitdb" +version = "4.0.11" +description = "Git Object Database" +optional = false +python-versions = ">=3.7" +files = [ + {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, + {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, +] + +[package.dependencies] +smmap = ">=3.0.1,<6" + +[[package]] +name = "gitpython" +version = "3.1.40" +description = "GitPython is a Python library used to interact with Git repositories" +optional = false +python-versions = ">=3.7" +files = [ + {file = "GitPython-3.1.40-py3-none-any.whl", hash = "sha256:cf14627d5a8049ffbf49915732e5eddbe8134c3bdb9d476e6182b676fc573f8a"}, + {file = "GitPython-3.1.40.tar.gz", hash = "sha256:22b126e9ffb671fdd0c129796343a02bf67bf2994b35449ffc9321aa755e18a4"}, +] + +[package.dependencies] +gitdb = ">=4.0.1,<5" + +[package.extras] +test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-instafail", "pytest-subtests", "pytest-sugar"] + +[[package]] +name = "idna" +version = "3.6" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, +] + +[[package]] +name = "importlib-resources" +version = "6.1.1" +description = "Read resources from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.1.1-py3-none-any.whl", hash = "sha256:e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6"}, + {file = "importlib_resources-6.1.1.tar.gz", hash = "sha256:3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a"}, +] + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff", "zipp (>=3.17)"] + [[package]] name = "iniconfig" version = "2.0.0" @@ -121,6 +332,127 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] +[[package]] +name = "jinja2" +version = "3.1.2" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "markupsafe" +version = "2.1.3" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + [[package]] name = "packaging" version = "23.1" @@ -162,6 +494,157 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] +[[package]] +name = "pydantic" +version = "2.5.2" +description = "Data validation using Python type hints" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-2.5.2-py3-none-any.whl", hash = "sha256:80c50fb8e3dcecfddae1adbcc00ec5822918490c99ab31f6cf6140ca1c1429f0"}, + {file = "pydantic-2.5.2.tar.gz", hash = "sha256:ff177ba64c6faf73d7afa2e8cad38fd456c0dbe01c9954e71038001cd15a6edd"}, +] + +[package.dependencies] +annotated-types = ">=0.4.0" +pydantic-core = "2.14.5" +typing-extensions = ">=4.6.1" + +[package.extras] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.14.5" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic_core-2.14.5-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:7e88f5696153dc516ba6e79f82cc4747e87027205f0e02390c21f7cb3bd8abfd"}, + {file = "pydantic_core-2.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4641e8ad4efb697f38a9b64ca0523b557c7931c5f84e0fd377a9a3b05121f0de"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:774de879d212db5ce02dfbf5b0da9a0ea386aeba12b0b95674a4ce0593df3d07"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebb4e035e28f49b6f1a7032920bb9a0c064aedbbabe52c543343d39341a5b2a3"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b53e9ad053cd064f7e473a5f29b37fc4cc9dc6d35f341e6afc0155ea257fc911"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aa1768c151cf562a9992462239dfc356b3d1037cc5a3ac829bb7f3bda7cc1f9"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eac5c82fc632c599f4639a5886f96867ffced74458c7db61bc9a66ccb8ee3113"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2ae91f50ccc5810b2f1b6b858257c9ad2e08da70bf890dee02de1775a387c66"}, + {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6b9ff467ffbab9110e80e8c8de3bcfce8e8b0fd5661ac44a09ae5901668ba997"}, + {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:61ea96a78378e3bd5a0be99b0e5ed00057b71f66115f5404d0dae4819f495093"}, + {file = "pydantic_core-2.14.5-cp310-none-win32.whl", hash = "sha256:bb4c2eda937a5e74c38a41b33d8c77220380a388d689bcdb9b187cf6224c9720"}, + {file = "pydantic_core-2.14.5-cp310-none-win_amd64.whl", hash = "sha256:b7851992faf25eac90bfcb7bfd19e1f5ffa00afd57daec8a0042e63c74a4551b"}, + {file = "pydantic_core-2.14.5-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4e40f2bd0d57dac3feb3a3aed50f17d83436c9e6b09b16af271b6230a2915459"}, + {file = "pydantic_core-2.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ab1cdb0f14dc161ebc268c09db04d2c9e6f70027f3b42446fa11c153521c0e88"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aae7ea3a1c5bb40c93cad361b3e869b180ac174656120c42b9fadebf685d121b"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:60b7607753ba62cf0739177913b858140f11b8af72f22860c28eabb2f0a61937"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2248485b0322c75aee7565d95ad0e16f1c67403a470d02f94da7344184be770f"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:823fcc638f67035137a5cd3f1584a4542d35a951c3cc68c6ead1df7dac825c26"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96581cfefa9123accc465a5fd0cc833ac4d75d55cc30b633b402e00e7ced00a6"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a33324437018bf6ba1bb0f921788788641439e0ed654b233285b9c69704c27b4"}, + {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9bd18fee0923ca10f9a3ff67d4851c9d3e22b7bc63d1eddc12f439f436f2aada"}, + {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:853a2295c00f1d4429db4c0fb9475958543ee80cfd310814b5c0ef502de24dda"}, + {file = "pydantic_core-2.14.5-cp311-none-win32.whl", hash = "sha256:cb774298da62aea5c80a89bd58c40205ab4c2abf4834453b5de207d59d2e1651"}, + {file = "pydantic_core-2.14.5-cp311-none-win_amd64.whl", hash = "sha256:e87fc540c6cac7f29ede02e0f989d4233f88ad439c5cdee56f693cc9c1c78077"}, + {file = "pydantic_core-2.14.5-cp311-none-win_arm64.whl", hash = "sha256:57d52fa717ff445cb0a5ab5237db502e6be50809b43a596fb569630c665abddf"}, + {file = "pydantic_core-2.14.5-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:e60f112ac88db9261ad3a52032ea46388378034f3279c643499edb982536a093"}, + {file = "pydantic_core-2.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6e227c40c02fd873c2a73a98c1280c10315cbebe26734c196ef4514776120aeb"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0cbc7fff06a90bbd875cc201f94ef0ee3929dfbd5c55a06674b60857b8b85ed"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:103ef8d5b58596a731b690112819501ba1db7a36f4ee99f7892c40da02c3e189"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c949f04ecad823f81b1ba94e7d189d9dfb81edbb94ed3f8acfce41e682e48cef"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1452a1acdf914d194159439eb21e56b89aa903f2e1c65c60b9d874f9b950e5d"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb4679d4c2b089e5ef89756bc73e1926745e995d76e11925e3e96a76d5fa51fc"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf9d3fe53b1ee360e2421be95e62ca9b3296bf3f2fb2d3b83ca49ad3f925835e"}, + {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:70f4b4851dbb500129681d04cc955be2a90b2248d69273a787dda120d5cf1f69"}, + {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:59986de5710ad9613ff61dd9b02bdd2f615f1a7052304b79cc8fa2eb4e336d2d"}, + {file = "pydantic_core-2.14.5-cp312-none-win32.whl", hash = "sha256:699156034181e2ce106c89ddb4b6504c30db8caa86e0c30de47b3e0654543260"}, + {file = "pydantic_core-2.14.5-cp312-none-win_amd64.whl", hash = "sha256:5baab5455c7a538ac7e8bf1feec4278a66436197592a9bed538160a2e7d11e36"}, + {file = "pydantic_core-2.14.5-cp312-none-win_arm64.whl", hash = "sha256:e47e9a08bcc04d20975b6434cc50bf82665fbc751bcce739d04a3120428f3e27"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:af36f36538418f3806048f3b242a1777e2540ff9efaa667c27da63d2749dbce0"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:45e95333b8418ded64745f14574aa9bfc212cb4fbeed7a687b0c6e53b5e188cd"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e47a76848f92529879ecfc417ff88a2806438f57be4a6a8bf2961e8f9ca9ec7"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d81e6987b27bc7d101c8597e1cd2bcaa2fee5e8e0f356735c7ed34368c471550"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34708cc82c330e303f4ce87758828ef6e457681b58ce0e921b6e97937dd1e2a3"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:652c1988019752138b974c28f43751528116bcceadad85f33a258869e641d753"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e4d090e73e0725b2904fdbdd8d73b8802ddd691ef9254577b708d413bf3006e"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5c7d5b5005f177764e96bd584d7bf28d6e26e96f2a541fdddb934c486e36fd59"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a71891847f0a73b1b9eb86d089baee301477abef45f7eaf303495cd1473613e4"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a717aef6971208f0851a2420b075338e33083111d92041157bbe0e2713b37325"}, + {file = "pydantic_core-2.14.5-cp37-none-win32.whl", hash = "sha256:de790a3b5aa2124b8b78ae5faa033937a72da8efe74b9231698b5a1dd9be3405"}, + {file = "pydantic_core-2.14.5-cp37-none-win_amd64.whl", hash = "sha256:6c327e9cd849b564b234da821236e6bcbe4f359a42ee05050dc79d8ed2a91588"}, + {file = "pydantic_core-2.14.5-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:ef98ca7d5995a82f43ec0ab39c4caf6a9b994cb0b53648ff61716370eadc43cf"}, + {file = "pydantic_core-2.14.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6eae413494a1c3f89055da7a5515f32e05ebc1a234c27674a6956755fb2236f"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcf4e6d85614f7a4956c2de5a56531f44efb973d2fe4a444d7251df5d5c4dcfd"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6637560562134b0e17de333d18e69e312e0458ee4455bdad12c37100b7cad706"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77fa384d8e118b3077cccfcaf91bf83c31fe4dc850b5e6ee3dc14dc3d61bdba1"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16e29bad40bcf97aac682a58861249ca9dcc57c3f6be22f506501833ddb8939c"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531f4b4252fac6ca476fbe0e6f60f16f5b65d3e6b583bc4d87645e4e5ddde331"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:074f3d86f081ce61414d2dc44901f4f83617329c6f3ab49d2bc6c96948b2c26b"}, + {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c2adbe22ab4babbca99c75c5d07aaf74f43c3195384ec07ccbd2f9e3bddaecec"}, + {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0f6116a558fd06d1b7c2902d1c4cf64a5bd49d67c3540e61eccca93f41418124"}, + {file = "pydantic_core-2.14.5-cp38-none-win32.whl", hash = "sha256:fe0a5a1025eb797752136ac8b4fa21aa891e3d74fd340f864ff982d649691867"}, + {file = "pydantic_core-2.14.5-cp38-none-win_amd64.whl", hash = "sha256:079206491c435b60778cf2b0ee5fd645e61ffd6e70c47806c9ed51fc75af078d"}, + {file = "pydantic_core-2.14.5-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:a6a16f4a527aae4f49c875da3cdc9508ac7eef26e7977952608610104244e1b7"}, + {file = "pydantic_core-2.14.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:abf058be9517dc877227ec3223f0300034bd0e9f53aebd63cf4456c8cb1e0863"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49b08aae5013640a3bfa25a8eebbd95638ec3f4b2eaf6ed82cf0c7047133f03b"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2d97e906b4ff36eb464d52a3bc7d720bd6261f64bc4bcdbcd2c557c02081ed2"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3128e0bbc8c091ec4375a1828d6118bc20404883169ac95ffa8d983b293611e6"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88e74ab0cdd84ad0614e2750f903bb0d610cc8af2cc17f72c28163acfcf372a4"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c339dabd8ee15f8259ee0f202679b6324926e5bc9e9a40bf981ce77c038553db"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3387277f1bf659caf1724e1afe8ee7dbc9952a82d90f858ebb931880216ea955"}, + {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ba6b6b3846cfc10fdb4c971980a954e49d447cd215ed5a77ec8190bc93dd7bc5"}, + {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca61d858e4107ce5e1330a74724fe757fc7135190eb5ce5c9d0191729f033209"}, + {file = "pydantic_core-2.14.5-cp39-none-win32.whl", hash = "sha256:ec1e72d6412f7126eb7b2e3bfca42b15e6e389e1bc88ea0069d0cc1742f477c6"}, + {file = "pydantic_core-2.14.5-cp39-none-win_amd64.whl", hash = "sha256:c0b97ec434041827935044bbbe52b03d6018c2897349670ff8fe11ed24d1d4ab"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79e0a2cdbdc7af3f4aee3210b1172ab53d7ddb6a2d8c24119b5706e622b346d0"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:678265f7b14e138d9a541ddabbe033012a2953315739f8cfa6d754cc8063e8ca"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b15e855ae44f0c6341ceb74df61b606e11f1087e87dcb7482377374aac6abe"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09b0e985fbaf13e6b06a56d21694d12ebca6ce5414b9211edf6f17738d82b0f8"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ad873900297bb36e4b6b3f7029d88ff9829ecdc15d5cf20161775ce12306f8a"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2d0ae0d8670164e10accbeb31d5ad45adb71292032d0fdb9079912907f0085f4"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d37f8ec982ead9ba0a22a996129594938138a1503237b87318392a48882d50b7"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:35613015f0ba7e14c29ac6c2483a657ec740e5ac5758d993fdd5870b07a61d8b"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab4ea451082e684198636565224bbb179575efc1658c48281b2c866bfd4ddf04"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ce601907e99ea5b4adb807ded3570ea62186b17f88e271569144e8cca4409c7"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb2ed8b3fe4bf4506d6dab3b93b83bbc22237e230cba03866d561c3577517d18"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70f947628e074bb2526ba1b151cee10e4c3b9670af4dbb4d73bc8a89445916b5"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4bc536201426451f06f044dfbf341c09f540b4ebdb9fd8d2c6164d733de5e634"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4791cf0f8c3104ac668797d8c514afb3431bc3305f5638add0ba1a5a37e0d88"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:038c9f763e650712b899f983076ce783175397c848da04985658e7628cbe873b"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:27548e16c79702f1e03f5628589c6057c9ae17c95b4c449de3c66b589ead0520"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97bee68898f3f4344eb02fec316db93d9700fb1e6a5b760ffa20d71d9a46ce3"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9b759b77f5337b4ea024f03abc6464c9f35d9718de01cfe6bae9f2e139c397e"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:439c9afe34638ace43a49bf72d201e0ffc1a800295bed8420c2a9ca8d5e3dbb3"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ba39688799094c75ea8a16a6b544eb57b5b0f3328697084f3f2790892510d144"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ccd4d5702bb90b84df13bd491be8d900b92016c5a455b7e14630ad7449eb03f8"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:81982d78a45d1e5396819bbb4ece1fadfe5f079335dd28c4ab3427cd95389944"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:7f8210297b04e53bc3da35db08b7302a6a1f4889c79173af69b72ec9754796b8"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:8c8a8812fe6f43a3a5b054af6ac2d7b8605c7bcab2804a8a7d68b53f3cd86e00"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:206ed23aecd67c71daf5c02c3cd19c0501b01ef3cbf7782db9e4e051426b3d0d"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2027d05c8aebe61d898d4cffd774840a9cb82ed356ba47a90d99ad768f39789"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40180930807ce806aa71eda5a5a5447abb6b6a3c0b4b3b1b1962651906484d68"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:615a0a4bff11c45eb3c1996ceed5bdaa2f7b432425253a7c2eed33bb86d80abc"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5e412d717366e0677ef767eac93566582518fe8be923361a5c204c1a62eaafe"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:513b07e99c0a267b1d954243845d8a833758a6726a3b5d8948306e3fe14675e3"}, + {file = "pydantic_core-2.14.5.tar.gz", hash = "sha256:6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" + +[[package]] +name = "pygments" +version = "2.17.2" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, +] + +[package.extras] +plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] + [[package]] name = "pyproject-api" version = "1.5.2" @@ -221,6 +704,55 @@ pytest = ">=5.4.0" docs = ["sphinx", "sphinx-rtd-theme"] testing = ["Django", "django-configurations (>=2.0)"] +[[package]] +name = "python-gitlab" +version = "4.2.0" +description = "A python wrapper for the GitLab API" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "python-gitlab-4.2.0.tar.gz", hash = "sha256:f870d76f98c95d05c43399d73b1eaab59c671b32793830cd2f9ddf32cc93541e"}, + {file = "python_gitlab-4.2.0-py3-none-any.whl", hash = "sha256:fa265266f24740ee654de51860ff78c9c3e422bb8a8c7ea8eedf353c75f57609"}, +] + +[package.dependencies] +requests = ">=2.25.0" +requests-toolbelt = ">=0.10.1" + +[package.extras] +autocompletion = ["argcomplete (>=1.10.0,<3)"] +yaml = ["PyYaml (>=6.0.1)"] + +[[package]] +name = "python-semantic-release" +version = "8.5.0" +description = "Automatic Semantic Versioning for Python projects" +optional = false +python-versions = ">=3.7" +files = [ + {file = "python-semantic-release-8.5.0.tar.gz", hash = "sha256:1c49c08989ba1b14e5ff952eebbfc7704429876dc3eba8f9946f366b9609ada1"}, + {file = "python_semantic_release-8.5.0-py3-none-any.whl", hash = "sha256:d2388f8a023af53640cc3b10221028dbdc75b1a198218f20261cbbd04e34f483"}, +] + +[package.dependencies] +click = ">=8,<9" +dotty-dict = ">=1.3.0,<2" +gitpython = ">=3.0.8,<4" +importlib-resources = ">=5.7,<7" +jinja2 = ">=3.1.2,<4" +pydantic = ">=2,<3" +python-gitlab = ">=2,<5" +requests = ">=2.25,<3" +rich = ">=12.5.1" +shellingham = ">=1.5.0.post1" +tomlkit = ">=0.10,<1.0" + +[package.extras] +dev = ["pre-commit", "ruff (==0.1.6)", "tox"] +docs = ["Sphinx (<=6.0.0)", "furo (>=2023.3.27)", "sphinx-autobuild (==2021.03.14)", "sphinxcontrib-apidoc (==0.3.0)"] +mypy = ["mypy", "types-requests"] +test = ["coverage[toml] (>=6,<8)", "pytest (>=7,<8)", "pytest-clarity (>=1.0.1)", "pytest-cov (>=4,<5)", "pytest-lazy-fixture (>=0.6.3,<0.7.0)", "pytest-mock (>=3,<4)", "pytest-pretty (>=1.2.0,<2)", "pytest-xdist (>=2,<4)", "requests-mock (>=1.10.0,<2)", "responses (==0.23.3)", "types-pytest-lazy-fixture (>=0.6.3.3)"] + [[package]] name = "pytz" version = "2023.3" @@ -232,6 +764,120 @@ files = [ {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, ] +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "requests-toolbelt" +version = "1.0.0" +description = "A utility belt for advanced users of python-requests" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, + {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, +] + +[package.dependencies] +requests = ">=2.0.1,<3.0.0" + +[[package]] +name = "rich" +version = "13.7.0" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "rich-13.7.0-py3-none-any.whl", hash = "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235"}, + {file = "rich-13.7.0.tar.gz", hash = "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "setuptools" +version = "69.0.2" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-69.0.2-py3-none-any.whl", hash = "sha256:1e8fdff6797d3865f37397be788a4e3cba233608e9b509382a2777d25ebde7f2"}, + {file = "setuptools-69.0.2.tar.gz", hash = "sha256:735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "setuptools-scm" +version = "8.0.4" +description = "the blessed package to manage your versions by scm tags" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-scm-8.0.4.tar.gz", hash = "sha256:b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7"}, + {file = "setuptools_scm-8.0.4-py3-none-any.whl", hash = "sha256:b47844cd2a84b83b3187a5782c71128c28b4c94cad8bfb871da2784a5cb54c4f"}, +] + +[package.dependencies] +packaging = ">=20" +setuptools = "*" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} +typing-extensions = "*" + +[package.extras] +docs = ["entangled-cli[rich]", "mkdocs", "mkdocs-entangled-plugin", "mkdocs-material", "mkdocstrings[python]", "pygments"] +rich = ["rich"] +test = ["build", "pytest", "rich", "wheel"] + +[[package]] +name = "shellingham" +version = "1.5.4" +description = "Tool to Detect Surrounding Shell" +optional = false +python-versions = ">=3.7" +files = [ + {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, + {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, +] + +[[package]] +name = "smmap" +version = "5.0.1" +description = "A pure Python implementation of a sliding window memory map manager" +optional = false +python-versions = ">=3.7" +files = [ + {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, + {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, +] + [[package]] name = "sqlparse" version = "0.4.4" @@ -259,6 +905,17 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +[[package]] +name = "tomlkit" +version = "0.12.3" +description = "Style preserving TOML library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"}, + {file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"}, +] + [[package]] name = "tox" version = "4.6.3" @@ -297,6 +954,22 @@ files = [ {file = "typing_extensions-4.6.3.tar.gz", hash = "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5"}, ] +[[package]] +name = "urllib3" +version = "2.1.0" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + [[package]] name = "virtualenv" version = "20.23.1" @@ -317,7 +990,22 @@ platformdirs = ">=3.5.1,<4" docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.3.1)", "pytest-env (>=0.8.1)", "pytest-freezer (>=0.4.6)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=67.8)", "time-machine (>=2.9)"] +[[package]] +name = "zipp" +version = "3.17.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] + [metadata] lock-version = "2.0" -python-versions = ">=3.7" -content-hash = "3c0f08f140362235001f911958096b9640572f90fc6932a28fcde23617bd62f4" +python-versions = ">=3.8" +content-hash = "1f07b9e46bbf196e5769700bceeabd06ca337b87741512fb0a31d1336ca6a912" diff --git a/pyproject.toml b/pyproject.toml index d3c1faa3..2a260438 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,11 +29,20 @@ classifiers = [ "Framework :: Django", ] +[tool.poetry.dependencies] +python = ">=3.8" +django = ">=3.2" +python-semantic-release = "^8.5.0" + [tool.poetry.group.test.dependencies] pytest = "^7.3.1" pytest-django = "^4.5.2" tox = "^4.5.2" + +[tool.poetry.group.dev.dependencies] +python-semantic-release = "^8.5.0" + [tool.ruff] fix = true line-length = 88 @@ -52,6 +61,26 @@ ignore = [ "C901", # too complex ] +[tool.semantic_release] +tag_format = "{version}" +major_on_zero = true +version_toml = [ + "pyproject.toml:tool.poetry.version" +] + +[tool.semantic_release.changelog] +template_dir = "src/templates" +exclude_commit_patterns = [ + "chore: version bump" +] + +[tool.semantic_release.changelog.environment] +trim_blocks = true +lstrip_blocks = true + +[tool.semantic_release.publish] +upload_to_vcs_release = false + [tool.pytest.ini_options] addopts = """\ --strict-config @@ -60,10 +89,6 @@ addopts = """\ """ django_find_project = false -[tool.poetry.dependencies] -python = ">=3.8" -django = ">=3.2" - [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" diff --git a/src/templates/.release_notes.md.j2 b/src/templates/.release_notes.md.j2 new file mode 100644 index 00000000..49d96c2b --- /dev/null +++ b/src/templates/.release_notes.md.j2 @@ -0,0 +1,9 @@ +{% set priority = ["feature", "fix", "documentation", "chore"] %} +{%- for type_ in priority %} +{% set commits = release["elements"][type_] -%} +{% for commit in commits -%} +{% if type_ != "unknown" -%} +* {{ commit.commit.message.rstrip() }} ([`{{ commit.commit.hexsha[:7] }}`]({{ commit.commit.hexsha | commit_hash_url }})) +{% endif %} +{% endfor %} +{% endfor %} diff --git a/src/templates/CHANGELOG.md.j2 b/src/templates/CHANGELOG.md.j2 new file mode 100644 index 00000000..76d6ed79 --- /dev/null +++ b/src/templates/CHANGELOG.md.j2 @@ -0,0 +1,23 @@ +{% set priority = ["feature", "fix", "documentation", "chore"] %} +{% if context.history.unreleased|length > 0 -%} + ## To be released + + {% for type_ in priority -%} + {% set commits = context.history.unreleased[type_] %} + {%- for commit in commits -%} + - {{ commit.commit.message.rstrip() }} ([`{{ commit.commit.hexsha[:7] }}`]({{ commit.commit.hexsha | commit_hash_url }})) + {% endfor %} + {%- endfor %} +{% endif %} + +{% for version, release in context.history.released.items() -%} + ## {{ version.as_tag() }} ({{ release.tagged_date.strftime("%Y-%m-%d") }}) + + {% for type_ in priority %} + {% set commits = release["elements"][type_] -%} + {% for commit in commits -%} + - {{ commit.commit.summary.rstrip() }} ([`{{ commit.commit.hexsha[:7] }}`]({{ commit.commit.hexsha | commit_hash_url }})) + {% endfor %} + {% endfor %} + +{% endfor %}