mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Update requirements (#3228)
* Remove stat context variables
* Revert "Remove stat context variables"
This reverts commit 0989c308d0
.
* remove old backport
* move requirements
* move isort
* move migrations-tests
* add pip-tools as req and add hook
* Use hashes and also run when txt files are added
* Update to hashes in requirements
* update requirements install path
* remove allauth-2fa for a test
* install dev-requirements
* re-enable allauth
* remove hashes from pre normal setup
* Remove version bindings if they are the laest
* move depencies to upper bound
* fix django-money
* remove windows specific requirements
* also install dependencies
* update markdownify
* remove django-admin-shell
* remove unneeded packages
* add docs
* remove pins and fix pre-commit pipeline
* pin django-money
* really remove admin shell
* return default behaviour for money serializer
* pip fix
* update filter name
* set decimal for output
* add migrations
* pin coveralls
* update requirements
Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
This commit is contained in:
parent
1a90d06acc
commit
cf70e4220f
8
.github/actions/setup/action.yaml
vendored
8
.github/actions/setup/action.yaml
vendored
@ -15,6 +15,10 @@ inputs:
|
|||||||
required: false
|
required: false
|
||||||
description: 'Install the InvenTree requirements?'
|
description: 'Install the InvenTree requirements?'
|
||||||
default: 'false'
|
default: 'false'
|
||||||
|
dev-install:
|
||||||
|
required: false
|
||||||
|
description: 'Install the InvenTree development requirements?'
|
||||||
|
default: 'false'
|
||||||
update:
|
update:
|
||||||
required: false
|
required: false
|
||||||
description: 'Should a full update cycle be run?'
|
description: 'Should a full update cycle be run?'
|
||||||
@ -72,6 +76,10 @@ runs:
|
|||||||
sudo apt-get install ${{ inputs.apt-dependency }}
|
sudo apt-get install ${{ inputs.apt-dependency }}
|
||||||
|
|
||||||
# Invoke commands
|
# Invoke commands
|
||||||
|
- name: Install dev requirements
|
||||||
|
if: ${{ inputs.dev-install == 'true' ||inputs.install == 'true' }}
|
||||||
|
shell: bash
|
||||||
|
run: pip install -r requirements-dev.txt
|
||||||
- name: Run invoke install
|
- name: Run invoke install
|
||||||
if: ${{ inputs.install == 'true' }}
|
if: ${{ inputs.install == 'true' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
|
4
.github/workflows/qc_checks.yaml
vendored
4
.github/workflows/qc_checks.yaml
vendored
@ -34,7 +34,7 @@ jobs:
|
|||||||
- name: Enviroment Setup
|
- name: Enviroment Setup
|
||||||
uses: ./.github/actions/setup
|
uses: ./.github/actions/setup
|
||||||
with:
|
with:
|
||||||
install: true
|
dev-install: true
|
||||||
- name: Run flake8
|
- name: Run flake8
|
||||||
run: flake8 InvenTree --extend-ignore=D
|
run: flake8 InvenTree --extend-ignore=D
|
||||||
|
|
||||||
@ -119,6 +119,7 @@ jobs:
|
|||||||
uses: ./.github/actions/setup
|
uses: ./.github/actions/setup
|
||||||
with:
|
with:
|
||||||
apt-dependency: gettext poppler-utils
|
apt-dependency: gettext poppler-utils
|
||||||
|
dev-install: true
|
||||||
update: true
|
update: true
|
||||||
- name: Download Python Code For `${{ env.wrapper_name }}`
|
- name: Download Python Code For `${{ env.wrapper_name }}`
|
||||||
run: git clone --depth 1 https://github.com/inventree/${{ env.wrapper_name }} ./${{ env.wrapper_name }}
|
run: git clone --depth 1 https://github.com/inventree/${{ env.wrapper_name }} ./${{ env.wrapper_name }}
|
||||||
@ -168,6 +169,7 @@ jobs:
|
|||||||
uses: ./.github/actions/setup
|
uses: ./.github/actions/setup
|
||||||
with:
|
with:
|
||||||
apt-dependency: gettext poppler-utils
|
apt-dependency: gettext poppler-utils
|
||||||
|
dev-install: true
|
||||||
update: true
|
update: true
|
||||||
- name: Coverage Tests
|
- name: Coverage Tests
|
||||||
run: invoke coverage
|
run: invoke coverage
|
||||||
|
@ -28,3 +28,14 @@ repos:
|
|||||||
rev: '5.10.1'
|
rev: '5.10.1'
|
||||||
hooks:
|
hooks:
|
||||||
- id: isort
|
- id: isort
|
||||||
|
- repo: https://github.com/jazzband/pip-tools
|
||||||
|
rev: 6.6.2
|
||||||
|
hooks:
|
||||||
|
- id: pip-compile
|
||||||
|
name: pip-compile requirements-dev.in
|
||||||
|
args: [--generate-hashes, requirements-dev.in, -o, requirements-dev.txt]
|
||||||
|
files: ^requirements-dev\.(in|txt)$
|
||||||
|
- id: pip-compile
|
||||||
|
name: pip-compile requirements.txt
|
||||||
|
args: [requirements.in, -o, requirements.txt]
|
||||||
|
files: ^requirements\.(in|txt)$
|
||||||
|
@ -33,6 +33,7 @@ class InvenTreeMoneySerializer(MoneyField):
|
|||||||
"""Overrite default values."""
|
"""Overrite default values."""
|
||||||
kwargs["max_digits"] = kwargs.get("max_digits", 19)
|
kwargs["max_digits"] = kwargs.get("max_digits", 19)
|
||||||
kwargs["decimal_places"] = kwargs.get("decimal_places", 4)
|
kwargs["decimal_places"] = kwargs.get("decimal_places", 4)
|
||||||
|
kwargs["required"] = kwargs.get("required", False)
|
||||||
|
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
@ -253,7 +253,6 @@ INSTALLED_APPS = [
|
|||||||
'django_cleanup.apps.CleanupConfig', # Automatically delete orphaned MEDIA files
|
'django_cleanup.apps.CleanupConfig', # Automatically delete orphaned MEDIA files
|
||||||
'mptt', # Modified Preorder Tree Traversal
|
'mptt', # Modified Preorder Tree Traversal
|
||||||
'markdownify', # Markdown template rendering
|
'markdownify', # Markdown template rendering
|
||||||
'django_admin_shell', # Python shell for the admin interface
|
|
||||||
'djmoney', # django-money integration
|
'djmoney', # django-money integration
|
||||||
'djmoney.contrib.exchange', # django-money exchange rates
|
'djmoney.contrib.exchange', # django-money exchange rates
|
||||||
'error_report', # Error reporting in the admin interface
|
'error_report', # Error reporting in the admin interface
|
||||||
|
@ -152,7 +152,6 @@ frontendpatterns = [
|
|||||||
|
|
||||||
# admin sites
|
# admin sites
|
||||||
re_path(f'^{settings.INVENTREE_ADMIN_URL}/error_log/', include('error_report.urls')),
|
re_path(f'^{settings.INVENTREE_ADMIN_URL}/error_log/', include('error_report.urls')),
|
||||||
re_path(f'^{settings.INVENTREE_ADMIN_URL}/shell/', include('django_admin_shell.urls')),
|
|
||||||
re_path(f'^{settings.INVENTREE_ADMIN_URL}/', admin.site.urls, name='inventree-admin'),
|
re_path(f'^{settings.INVENTREE_ADMIN_URL}/', admin.site.urls, name='inventree-admin'),
|
||||||
|
|
||||||
# DB user sessions
|
# DB user sessions
|
||||||
|
@ -420,7 +420,7 @@ class BuildItemList(ListCreateAPI):
|
|||||||
DjangoFilterBackend,
|
DjangoFilterBackend,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'build',
|
'build',
|
||||||
'stock_item',
|
'stock_item',
|
||||||
'bom_item',
|
'bom_item',
|
||||||
@ -438,7 +438,7 @@ class BuildAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
|
|||||||
DjangoFilterBackend,
|
DjangoFilterBackend,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'build',
|
'build',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -289,7 +289,7 @@ class NotificationList(BulkDeleteMixin, ListAPI):
|
|||||||
'message',
|
'message',
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'category',
|
'category',
|
||||||
'read',
|
'read',
|
||||||
]
|
]
|
||||||
|
@ -46,7 +46,7 @@ class CompanyList(ListCreateAPI):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'is_customer',
|
'is_customer',
|
||||||
'is_manufacturer',
|
'is_manufacturer',
|
||||||
'is_supplier',
|
'is_supplier',
|
||||||
@ -169,7 +169,7 @@ class ManufacturerPartAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
|
|||||||
DjangoFilterBackend,
|
DjangoFilterBackend,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'manufacturer_part',
|
'manufacturer_part',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ class ManufacturerPartParameterList(ListCreateDestroyAPIView):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'name',
|
'name',
|
||||||
'value',
|
'value',
|
||||||
'units',
|
'units',
|
||||||
@ -333,7 +333,7 @@ class SupplierPartList(ListCreateDestroyAPIView):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
]
|
]
|
||||||
|
|
||||||
search_fields = [
|
search_fields = [
|
||||||
@ -377,7 +377,7 @@ class SupplierPriceBreakList(ListCreateAPI):
|
|||||||
DjangoFilterBackend,
|
DjangoFilterBackend,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'part',
|
'part',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
20
InvenTree/company/migrations/0046_alter_company_image.py
Normal file
20
InvenTree/company/migrations/0046_alter_company_image.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Generated by Django 3.2.13 on 2022-06-27 23:08
|
||||||
|
|
||||||
|
import company.models
|
||||||
|
from django.db import migrations
|
||||||
|
import stdimage.models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('company', '0045_alter_company_notes'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='company',
|
||||||
|
name='image',
|
||||||
|
field=stdimage.models.StdImageField(blank=True, force_min_size=False, null=True, upload_to=company.models.rename_company_image, variations={'preview': (256, 256), 'thumbnail': (128, 128)}, verbose_name='Image'),
|
||||||
|
),
|
||||||
|
]
|
@ -31,7 +31,7 @@ class LabelListView(ListAPI):
|
|||||||
filters.SearchFilter
|
filters.SearchFilter
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'enabled',
|
'enabled',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ class GeneralExtraLineList:
|
|||||||
'reference'
|
'reference'
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'order',
|
'order',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -540,7 +540,7 @@ class SalesOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
|
|||||||
rest_filters.DjangoFilterBackend,
|
rest_filters.DjangoFilterBackend,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'order',
|
'order',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -672,7 +672,7 @@ class SalesOrderList(APIDownloadMixin, ListCreateAPI):
|
|||||||
'reference': ['reference_int', 'reference'],
|
'reference': ['reference_int', 'reference'],
|
||||||
}
|
}
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'customer',
|
'customer',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -814,7 +814,7 @@ class SalesOrderLineItemList(ListCreateAPI):
|
|||||||
'reference',
|
'reference',
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'order',
|
'order',
|
||||||
'part',
|
'part',
|
||||||
]
|
]
|
||||||
@ -990,7 +990,7 @@ class SalesOrderAllocationList(ListAPI):
|
|||||||
]
|
]
|
||||||
|
|
||||||
# Default filterable fields
|
# Default filterable fields
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -1069,7 +1069,7 @@ class PurchaseOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
|
|||||||
rest_filters.DjangoFilterBackend,
|
rest_filters.DjangoFilterBackend,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'order',
|
'order',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ class CategoryList(ListCreateAPI):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
]
|
]
|
||||||
|
|
||||||
ordering_fields = [
|
ordering_fields = [
|
||||||
@ -281,7 +281,7 @@ class PartSalePriceList(ListCreateAPI):
|
|||||||
DjangoFilterBackend
|
DjangoFilterBackend
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'part',
|
'part',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -304,7 +304,7 @@ class PartInternalPriceList(ListCreateAPI):
|
|||||||
DjangoFilterBackend
|
DjangoFilterBackend
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'part',
|
'part',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -319,7 +319,7 @@ class PartAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
|
|||||||
DjangoFilterBackend,
|
DjangoFilterBackend,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'part',
|
'part',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1412,7 +1412,7 @@ class PartParameterTemplateList(ListCreateAPI):
|
|||||||
filters.SearchFilter,
|
filters.SearchFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'name',
|
'name',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1477,7 +1477,7 @@ class PartParameterList(ListCreateAPI):
|
|||||||
DjangoFilterBackend
|
DjangoFilterBackend
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'part',
|
'part',
|
||||||
'template',
|
'template',
|
||||||
]
|
]
|
||||||
@ -1758,7 +1758,7 @@ class BomList(ListCreateDestroyAPIView):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -1857,7 +1857,7 @@ class BomItemSubstituteList(ListCreateAPI):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'part',
|
'part',
|
||||||
'bom_item',
|
'bom_item',
|
||||||
]
|
]
|
||||||
|
20
InvenTree/part/migrations/0080_alter_part_image.py
Normal file
20
InvenTree/part/migrations/0080_alter_part_image.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Generated by Django 3.2.13 on 2022-06-27 23:08
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
import part.models
|
||||||
|
import stdimage.models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('part', '0079_alter_part_notes'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='part',
|
||||||
|
name='image',
|
||||||
|
field=stdimage.models.StdImageField(blank=True, force_min_size=False, null=True, upload_to=part.models.rename_part_image, variations={'preview': (256, 256), 'thumbnail': (128, 128)}, verbose_name='Image'),
|
||||||
|
),
|
||||||
|
]
|
@ -62,7 +62,7 @@ class PluginList(ListAPI):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'active',
|
'active',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -140,7 +140,7 @@ class PluginSettingList(ListAPI):
|
|||||||
DjangoFilterBackend,
|
DjangoFilterBackend,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'plugin__active',
|
'plugin__active',
|
||||||
'plugin__key',
|
'plugin__key',
|
||||||
]
|
]
|
||||||
|
@ -34,7 +34,7 @@ class ReportListView(ListAPI):
|
|||||||
filters.SearchFilter,
|
filters.SearchFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'enabled',
|
'enabled',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -283,7 +283,7 @@ class StockLocationList(ListCreateAPI):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
]
|
]
|
||||||
|
|
||||||
search_fields = [
|
search_fields = [
|
||||||
@ -1064,7 +1064,7 @@ class StockAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
|
|||||||
filters.SearchFilter,
|
filters.SearchFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'stock_item',
|
'stock_item',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1095,7 +1095,7 @@ class StockItemTestResultList(ListCreateDestroyAPIView):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'test',
|
'test',
|
||||||
'user',
|
'user',
|
||||||
'result',
|
'result',
|
||||||
@ -1302,7 +1302,7 @@ class StockTrackingList(ListAPI):
|
|||||||
filters.OrderingFilter,
|
filters.OrderingFilter,
|
||||||
]
|
]
|
||||||
|
|
||||||
filter_fields = [
|
filterset_fields = [
|
||||||
'item',
|
'item',
|
||||||
'user',
|
'user',
|
||||||
]
|
]
|
||||||
|
@ -183,7 +183,11 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeModelSerializer):
|
|||||||
|
|
||||||
def get_purchase_price_string(self, obj):
|
def get_purchase_price_string(self, obj):
|
||||||
"""Return purchase price as string."""
|
"""Return purchase price as string."""
|
||||||
return str(obj.purchase_price) if obj.purchase_price else '-'
|
if obj.purchase_price:
|
||||||
|
obj.purchase_price.decimal_places_display = 4
|
||||||
|
return str(obj.purchase_price)
|
||||||
|
|
||||||
|
return '-'
|
||||||
|
|
||||||
purchase_order_reference = serializers.CharField(source='purchase_order.reference', read_only=True)
|
purchase_order_reference = serializers.CharField(source='purchase_order.reference', read_only=True)
|
||||||
sales_order_reference = serializers.CharField(source='sales_order.reference', read_only=True)
|
sales_order_reference = serializers.CharField(source='sales_order.reference', read_only=True)
|
||||||
|
12
requirements-dev.in
Normal file
12
requirements-dev.in
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# Dev requirements for InvenTree
|
||||||
|
coverage # Unit test coverage
|
||||||
|
coveralls==2.1.2 # Coveralls linking (for tracking coverage) # PINNED 2022-06-28 - Old version needed for correct upload
|
||||||
|
django-debug-toolbar # Debug / profiling toolbar
|
||||||
|
django-test-migrations # Unit testing for database migrations
|
||||||
|
flake8 # PEP checking
|
||||||
|
flake8-docstrings # docstring format testing
|
||||||
|
isort # python import sorting
|
||||||
|
pep8-naming # PEP naming convention extension
|
||||||
|
pip-tools # Compile pip requirements
|
||||||
|
pre-commit # Git pre-commit
|
||||||
|
setuptools # Standard depenedency
|
254
requirements-dev.txt
Normal file
254
requirements-dev.txt
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
#
|
||||||
|
# This file is autogenerated by pip-compile with python 3.9
|
||||||
|
# To update, run:
|
||||||
|
#
|
||||||
|
# pip-compile --generate-hashes --output-file=requirements-dev.txt requirements-dev.in
|
||||||
|
#
|
||||||
|
asgiref==3.5.2 \
|
||||||
|
--hash=sha256:1d2880b792ae8757289136f1db2b7b99100ce959b2aa57fd69dab783d05afac4 \
|
||||||
|
--hash=sha256:4a29362a6acebe09bf1d6640db38c1dc3d9217c68e6f9f6204d72667fc19a424
|
||||||
|
# via django
|
||||||
|
certifi==2022.6.15 \
|
||||||
|
--hash=sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d \
|
||||||
|
--hash=sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412
|
||||||
|
# via requests
|
||||||
|
cfgv==3.3.1 \
|
||||||
|
--hash=sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426 \
|
||||||
|
--hash=sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736
|
||||||
|
# via pre-commit
|
||||||
|
charset-normalizer==2.0.12 \
|
||||||
|
--hash=sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597 \
|
||||||
|
--hash=sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df
|
||||||
|
# via requests
|
||||||
|
click==8.1.3 \
|
||||||
|
--hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \
|
||||||
|
--hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48
|
||||||
|
# via pip-tools
|
||||||
|
coverage==5.5 \
|
||||||
|
--hash=sha256:004d1880bed2d97151facef49f08e255a20ceb6f9432df75f4eef018fdd5a78c \
|
||||||
|
--hash=sha256:01d84219b5cdbfc8122223b39a954820929497a1cb1422824bb86b07b74594b6 \
|
||||||
|
--hash=sha256:040af6c32813fa3eae5305d53f18875bedd079960822ef8ec067a66dd8afcd45 \
|
||||||
|
--hash=sha256:06191eb60f8d8a5bc046f3799f8a07a2d7aefb9504b0209aff0b47298333302a \
|
||||||
|
--hash=sha256:13034c4409db851670bc9acd836243aeee299949bd5673e11844befcb0149f03 \
|
||||||
|
--hash=sha256:13c4ee887eca0f4c5a247b75398d4114c37882658300e153113dafb1d76de529 \
|
||||||
|
--hash=sha256:184a47bbe0aa6400ed2d41d8e9ed868b8205046518c52464fde713ea06e3a74a \
|
||||||
|
--hash=sha256:18ba8bbede96a2c3dde7b868de9dcbd55670690af0988713f0603f037848418a \
|
||||||
|
--hash=sha256:1aa846f56c3d49205c952d8318e76ccc2ae23303351d9270ab220004c580cfe2 \
|
||||||
|
--hash=sha256:217658ec7187497e3f3ebd901afdca1af062b42cfe3e0dafea4cced3983739f6 \
|
||||||
|
--hash=sha256:24d4a7de75446be83244eabbff746d66b9240ae020ced65d060815fac3423759 \
|
||||||
|
--hash=sha256:2910f4d36a6a9b4214bb7038d537f015346f413a975d57ca6b43bf23d6563b53 \
|
||||||
|
--hash=sha256:2949cad1c5208b8298d5686d5a85b66aae46d73eec2c3e08c817dd3513e5848a \
|
||||||
|
--hash=sha256:2a3859cb82dcbda1cfd3e6f71c27081d18aa251d20a17d87d26d4cd216fb0af4 \
|
||||||
|
--hash=sha256:2cafbbb3af0733db200c9b5f798d18953b1a304d3f86a938367de1567f4b5bff \
|
||||||
|
--hash=sha256:2e0d881ad471768bf6e6c2bf905d183543f10098e3b3640fc029509530091502 \
|
||||||
|
--hash=sha256:30c77c1dc9f253283e34c27935fded5015f7d1abe83bc7821680ac444eaf7793 \
|
||||||
|
--hash=sha256:3487286bc29a5aa4b93a072e9592f22254291ce96a9fbc5251f566b6b7343cdb \
|
||||||
|
--hash=sha256:372da284cfd642d8e08ef606917846fa2ee350f64994bebfbd3afb0040436905 \
|
||||||
|
--hash=sha256:41179b8a845742d1eb60449bdb2992196e211341818565abded11cfa90efb821 \
|
||||||
|
--hash=sha256:44d654437b8ddd9eee7d1eaee28b7219bec228520ff809af170488fd2fed3e2b \
|
||||||
|
--hash=sha256:4a7697d8cb0f27399b0e393c0b90f0f1e40c82023ea4d45d22bce7032a5d7b81 \
|
||||||
|
--hash=sha256:51cb9476a3987c8967ebab3f0fe144819781fca264f57f89760037a2ea191cb0 \
|
||||||
|
--hash=sha256:52596d3d0e8bdf3af43db3e9ba8dcdaac724ba7b5ca3f6358529d56f7a166f8b \
|
||||||
|
--hash=sha256:53194af30d5bad77fcba80e23a1441c71abfb3e01192034f8246e0d8f99528f3 \
|
||||||
|
--hash=sha256:5fec2d43a2cc6965edc0bb9e83e1e4b557f76f843a77a2496cbe719583ce8184 \
|
||||||
|
--hash=sha256:6c90e11318f0d3c436a42409f2749ee1a115cd8b067d7f14c148f1ce5574d701 \
|
||||||
|
--hash=sha256:74d881fc777ebb11c63736622b60cb9e4aee5cace591ce274fb69e582a12a61a \
|
||||||
|
--hash=sha256:7501140f755b725495941b43347ba8a2777407fc7f250d4f5a7d2a1050ba8e82 \
|
||||||
|
--hash=sha256:796c9c3c79747146ebd278dbe1e5c5c05dd6b10cc3bcb8389dfdf844f3ead638 \
|
||||||
|
--hash=sha256:869a64f53488f40fa5b5b9dcb9e9b2962a66a87dab37790f3fcfb5144b996ef5 \
|
||||||
|
--hash=sha256:8963a499849a1fc54b35b1c9f162f4108017b2e6db2c46c1bed93a72262ed083 \
|
||||||
|
--hash=sha256:8d0a0725ad7c1a0bcd8d1b437e191107d457e2ec1084b9f190630a4fb1af78e6 \
|
||||||
|
--hash=sha256:900fbf7759501bc7807fd6638c947d7a831fc9fdf742dc10f02956ff7220fa90 \
|
||||||
|
--hash=sha256:92b017ce34b68a7d67bd6d117e6d443a9bf63a2ecf8567bb3d8c6c7bc5014465 \
|
||||||
|
--hash=sha256:970284a88b99673ccb2e4e334cfb38a10aab7cd44f7457564d11898a74b62d0a \
|
||||||
|
--hash=sha256:972c85d205b51e30e59525694670de6a8a89691186012535f9d7dbaa230e42c3 \
|
||||||
|
--hash=sha256:9a1ef3b66e38ef8618ce5fdc7bea3d9f45f3624e2a66295eea5e57966c85909e \
|
||||||
|
--hash=sha256:af0e781009aaf59e25c5a678122391cb0f345ac0ec272c7961dc5455e1c40066 \
|
||||||
|
--hash=sha256:b6d534e4b2ab35c9f93f46229363e17f63c53ad01330df9f2d6bd1187e5eaacf \
|
||||||
|
--hash=sha256:b7895207b4c843c76a25ab8c1e866261bcfe27bfaa20c192de5190121770672b \
|
||||||
|
--hash=sha256:c0891a6a97b09c1f3e073a890514d5012eb256845c451bd48f7968ef939bf4ae \
|
||||||
|
--hash=sha256:c2723d347ab06e7ddad1a58b2a821218239249a9e4365eaff6649d31180c1669 \
|
||||||
|
--hash=sha256:d1f8bf7b90ba55699b3a5e44930e93ff0189aa27186e96071fac7dd0d06a1873 \
|
||||||
|
--hash=sha256:d1f9ce122f83b2305592c11d64f181b87153fc2c2bbd3bb4a3dde8303cfb1a6b \
|
||||||
|
--hash=sha256:d314ed732c25d29775e84a960c3c60808b682c08d86602ec2c3008e1202e3bb6 \
|
||||||
|
--hash=sha256:d636598c8305e1f90b439dbf4f66437de4a5e3c31fdf47ad29542478c8508bbb \
|
||||||
|
--hash=sha256:deee1077aae10d8fa88cb02c845cfba9b62c55e1183f52f6ae6a2df6a2187160 \
|
||||||
|
--hash=sha256:ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c \
|
||||||
|
--hash=sha256:f030f8873312a16414c0d8e1a1ddff2d3235655a2174e3648b4fa66b3f2f1079 \
|
||||||
|
--hash=sha256:f0b278ce10936db1a37e6954e15a3730bea96a0997c26d7fee88e6c396c2086d \
|
||||||
|
--hash=sha256:f11642dddbb0253cc8853254301b51390ba0081750a8ac03f20ea8103f0c56b6
|
||||||
|
# via
|
||||||
|
# -r requirements-dev.in
|
||||||
|
# coveralls
|
||||||
|
coveralls==2.1.2 \
|
||||||
|
--hash=sha256:4430b862baabb3cf090d36d84d331966615e4288d8a8c5957e0fd456d0dd8bd6 \
|
||||||
|
--hash=sha256:b3b60c17b03a0dee61952a91aed6f131e0b2ac8bd5da909389c53137811409e1
|
||||||
|
# via -r requirements-dev.in
|
||||||
|
distlib==0.3.4 \
|
||||||
|
--hash=sha256:6564fe0a8f51e734df6333d08b8b94d4ea8ee6b99b5ed50613f731fd4089f34b \
|
||||||
|
--hash=sha256:e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579
|
||||||
|
# via virtualenv
|
||||||
|
django==4.0.5 \
|
||||||
|
--hash=sha256:502ae42b6ab1b612c933fb50d5ff850facf858a4c212f76946ecd8ea5b3bf2d9 \
|
||||||
|
--hash=sha256:f7431a5de7277966f3785557c3928433347d998c1e6459324501378a291e5aab
|
||||||
|
# via django-debug-toolbar
|
||||||
|
django-debug-toolbar==3.5.0 \
|
||||||
|
--hash=sha256:89a52128309eb4da12738801ff0c202d2ff8730d1c3225fac6acf630c303e661 \
|
||||||
|
--hash=sha256:97965f2630692de316ea0c1ca5bfa81660d7ba13146dbc6be2059cf55b35d0e5
|
||||||
|
# via -r requirements-dev.in
|
||||||
|
django-test-migrations==1.2.0 \
|
||||||
|
--hash=sha256:874884ff4e980583cd9f1c986bb9fbfe72b436e759be23004e4f52c26a15f363 \
|
||||||
|
--hash=sha256:9e8b9b4364fef70dde10a5f85c5a75d447ca2189ec648325610fab1268daec97
|
||||||
|
# via -r requirements-dev.in
|
||||||
|
docopt==0.6.2 \
|
||||||
|
--hash=sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491
|
||||||
|
# via coveralls
|
||||||
|
filelock==3.7.1 \
|
||||||
|
--hash=sha256:37def7b658813cda163b56fc564cdc75e86d338246458c4c28ae84cabefa2404 \
|
||||||
|
--hash=sha256:3a0fd85166ad9dbab54c9aec96737b744106dc5f15c0b09a6744a445299fcf04
|
||||||
|
# via virtualenv
|
||||||
|
flake8==4.0.1 \
|
||||||
|
--hash=sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d \
|
||||||
|
--hash=sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d
|
||||||
|
# via
|
||||||
|
# -r requirements-dev.in
|
||||||
|
# flake8-docstrings
|
||||||
|
# pep8-naming
|
||||||
|
flake8-docstrings==1.6.0 \
|
||||||
|
--hash=sha256:99cac583d6c7e32dd28bbfbef120a7c0d1b6dde4adb5a9fd441c4227a6534bde \
|
||||||
|
--hash=sha256:9fe7c6a306064af8e62a055c2f61e9eb1da55f84bb39caef2b84ce53708ac34b
|
||||||
|
# via -r requirements-dev.in
|
||||||
|
identify==2.5.1 \
|
||||||
|
--hash=sha256:0dca2ea3e4381c435ef9c33ba100a78a9b40c0bab11189c7cf121f75815efeaa \
|
||||||
|
--hash=sha256:3d11b16f3fe19f52039fb7e39c9c884b21cb1b586988114fbe42671f03de3e82
|
||||||
|
# via pre-commit
|
||||||
|
idna==3.3 \
|
||||||
|
--hash=sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff \
|
||||||
|
--hash=sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d
|
||||||
|
# via requests
|
||||||
|
isort==5.10.1 \
|
||||||
|
--hash=sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7 \
|
||||||
|
--hash=sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951
|
||||||
|
# via -r requirements-dev.in
|
||||||
|
mccabe==0.6.1 \
|
||||||
|
--hash=sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42 \
|
||||||
|
--hash=sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f
|
||||||
|
# via flake8
|
||||||
|
nodeenv==1.7.0 \
|
||||||
|
--hash=sha256:27083a7b96a25f2f5e1d8cb4b6317ee8aeda3bdd121394e5ac54e498028a042e \
|
||||||
|
--hash=sha256:e0e7f7dfb85fc5394c6fe1e8fa98131a2473e04311a45afb6508f7cf1836fa2b
|
||||||
|
# via pre-commit
|
||||||
|
pep517==0.12.0 \
|
||||||
|
--hash=sha256:931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0 \
|
||||||
|
--hash=sha256:dd884c326898e2c6e11f9e0b64940606a93eb10ea022a2e067959f3a110cf161
|
||||||
|
# via pip-tools
|
||||||
|
pep8-naming==0.13.0 \
|
||||||
|
--hash=sha256:069ea20e97f073b3e6d4f789af2a57816f281ca64b86210c7d471117a4b6bfd0 \
|
||||||
|
--hash=sha256:9f38e6dcf867a1fb7ad47f5ff72c0ddae544a6cf64eb9f7600b7b3c0bb5980b5
|
||||||
|
# via -r requirements-dev.in
|
||||||
|
pip-tools==6.6.2 \
|
||||||
|
--hash=sha256:6b486548e5a139e30e4c4a225b3b7c2d46942a9f6d1a91143c21b1de4d02fd9b \
|
||||||
|
--hash=sha256:f638503a9f77d98d9a7d72584b1508d3f82ed019b8fab24f4e5ad078c1b8c95e
|
||||||
|
# via -r requirements-dev.in
|
||||||
|
platformdirs==2.5.2 \
|
||||||
|
--hash=sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788 \
|
||||||
|
--hash=sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19
|
||||||
|
# via virtualenv
|
||||||
|
pre-commit==2.19.0 \
|
||||||
|
--hash=sha256:10c62741aa5704faea2ad69cb550ca78082efe5697d6f04e5710c3c229afdd10 \
|
||||||
|
--hash=sha256:4233a1e38621c87d9dda9808c6606d7e7ba0e087cd56d3fe03202a01d2919615
|
||||||
|
# via -r requirements-dev.in
|
||||||
|
pycodestyle==2.8.0 \
|
||||||
|
--hash=sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20 \
|
||||||
|
--hash=sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f
|
||||||
|
# via flake8
|
||||||
|
pydocstyle==6.1.1 \
|
||||||
|
--hash=sha256:1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc \
|
||||||
|
--hash=sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4
|
||||||
|
# via flake8-docstrings
|
||||||
|
pyflakes==2.4.0 \
|
||||||
|
--hash=sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c \
|
||||||
|
--hash=sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e
|
||||||
|
# via flake8
|
||||||
|
pyyaml==6.0 \
|
||||||
|
--hash=sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293 \
|
||||||
|
--hash=sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b \
|
||||||
|
--hash=sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57 \
|
||||||
|
--hash=sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b \
|
||||||
|
--hash=sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4 \
|
||||||
|
--hash=sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07 \
|
||||||
|
--hash=sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba \
|
||||||
|
--hash=sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9 \
|
||||||
|
--hash=sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287 \
|
||||||
|
--hash=sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513 \
|
||||||
|
--hash=sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 \
|
||||||
|
--hash=sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0 \
|
||||||
|
--hash=sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92 \
|
||||||
|
--hash=sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f \
|
||||||
|
--hash=sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 \
|
||||||
|
--hash=sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc \
|
||||||
|
--hash=sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c \
|
||||||
|
--hash=sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86 \
|
||||||
|
--hash=sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4 \
|
||||||
|
--hash=sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c \
|
||||||
|
--hash=sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34 \
|
||||||
|
--hash=sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b \
|
||||||
|
--hash=sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c \
|
||||||
|
--hash=sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb \
|
||||||
|
--hash=sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737 \
|
||||||
|
--hash=sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3 \
|
||||||
|
--hash=sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d \
|
||||||
|
--hash=sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53 \
|
||||||
|
--hash=sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78 \
|
||||||
|
--hash=sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803 \
|
||||||
|
--hash=sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a \
|
||||||
|
--hash=sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174 \
|
||||||
|
--hash=sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5
|
||||||
|
# via pre-commit
|
||||||
|
requests==2.28.0 \
|
||||||
|
--hash=sha256:bc7861137fbce630f17b03d3ad02ad0bf978c844f3536d0edda6499dafce2b6f \
|
||||||
|
--hash=sha256:d568723a7ebd25875d8d1eaf5dfa068cd2fc8194b2e483d7b1f7c81918dbec6b
|
||||||
|
# via coveralls
|
||||||
|
six==1.16.0 \
|
||||||
|
--hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \
|
||||||
|
--hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
|
||||||
|
# via virtualenv
|
||||||
|
snowballstemmer==2.2.0 \
|
||||||
|
--hash=sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1 \
|
||||||
|
--hash=sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a
|
||||||
|
# via pydocstyle
|
||||||
|
sqlparse==0.4.2 \
|
||||||
|
--hash=sha256:0c00730c74263a94e5a9919ade150dfc3b19c574389985446148402998287dae \
|
||||||
|
--hash=sha256:48719e356bb8b42991bdbb1e8b83223757b93789c00910a616a071910ca4a64d
|
||||||
|
# via
|
||||||
|
# django
|
||||||
|
# django-debug-toolbar
|
||||||
|
toml==0.10.2 \
|
||||||
|
--hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b \
|
||||||
|
--hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f
|
||||||
|
# via pre-commit
|
||||||
|
tomli==2.0.1 \
|
||||||
|
--hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
|
||||||
|
--hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f
|
||||||
|
# via pep517
|
||||||
|
typing-extensions==4.2.0 \
|
||||||
|
--hash=sha256:6657594ee297170d19f67d55c05852a874e7eb634f4f753dbd667855e07c1708 \
|
||||||
|
--hash=sha256:f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376
|
||||||
|
# via django-test-migrations
|
||||||
|
urllib3==1.26.9 \
|
||||||
|
--hash=sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14 \
|
||||||
|
--hash=sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e
|
||||||
|
# via requests
|
||||||
|
virtualenv==20.15.0 \
|
||||||
|
--hash=sha256:4c44b1d77ca81f8368e2d7414f9b20c428ad16b343ac6d226206c5b84e2b4fcc \
|
||||||
|
--hash=sha256:804cce4de5b8a322f099897e308eecc8f6e2951f1a8e7e2b3598dff865f01336
|
||||||
|
# via pre-commit
|
||||||
|
wheel==0.37.1 \
|
||||||
|
--hash=sha256:4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a \
|
||||||
|
--hash=sha256:e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4
|
||||||
|
# via pip-tools
|
||||||
|
|
||||||
|
# WARNING: The following packages were not pinned, but pip requires them to be
|
||||||
|
# pinned when the requirements file includes hashes. Consider using the --allow-unsafe flag.
|
||||||
|
# pip
|
||||||
|
# setuptools
|
37
requirements.in
Normal file
37
requirements.in
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Please keep this list sorted - if you pin a version provide a reason
|
||||||
|
Django<4 # Django package
|
||||||
|
coreapi # API documentation for djangorestframework
|
||||||
|
django-allauth # SSO for external providers via OpenID
|
||||||
|
django-allauth-2fa # MFA / 2FA
|
||||||
|
django-cleanup # Automated deletion of old / unused uploaded files
|
||||||
|
django-cors-headers # CORS headers extension for DRF
|
||||||
|
django-crispy-forms # Form helpers
|
||||||
|
django-error-report # Error report viewer for the admin interface
|
||||||
|
django-filter # Extended filtering options
|
||||||
|
django-formtools # Form wizard tools
|
||||||
|
django-import-export==2.5.0 # Data import / export for admin interface
|
||||||
|
django-maintenance-mode # Shut down application while reloading etc.
|
||||||
|
django-markdownify # Markdown rendering
|
||||||
|
django-money<3.0.0 # Django app for currency management # FIXED 2022-06-26 to make sure py-moneyed is not conflicting
|
||||||
|
django-mptt==0.11.0 # Modified Preorder Tree Traversal
|
||||||
|
django-redis>=5.0.0 # Redis integration
|
||||||
|
django-q # Background task scheduling
|
||||||
|
django-sql-utils # Advanced query annotation / aggregation
|
||||||
|
django-sslserver # Secure HTTP development server
|
||||||
|
django-stdimage # Advanced ImageField management
|
||||||
|
django-user-sessions # user sessions in DB
|
||||||
|
django-weasyprint # django weasyprint integration
|
||||||
|
djangorestframework # DRF framework
|
||||||
|
django-xforwardedfor-middleware # IP forwarding metadata
|
||||||
|
gunicorn # Gunicorn web server
|
||||||
|
pdf2image # PDF to image conversion
|
||||||
|
pillow # Image manipulation
|
||||||
|
python-barcode[images] # Barcode generator
|
||||||
|
qrcode[pil] # QR code generator
|
||||||
|
rapidfuzz==0.7.6 # Fuzzy string matching
|
||||||
|
sentry-sdk # Error reporting (optional)
|
||||||
|
setuptools # Standard depenedency
|
||||||
|
tablib[xls,xlsx,yaml] # Support for XLS and XLSX formats
|
||||||
|
|
||||||
|
# Fixed sub-dependencies
|
||||||
|
py-moneyed<2.0 # For django-money # FIXED 2022-06-18 as we need `moneyed.localization`
|
300
requirements.txt
300
requirements.txt
@ -1,51 +1,249 @@
|
|||||||
# Please keep this list sorted
|
#
|
||||||
Django==3.2.13 # Django package
|
# This file is autogenerated by pip-compile with python 3.9
|
||||||
bleach==4.1.0 # HTML santization
|
# To update, run:
|
||||||
certifi # Certifi is (most likely) installed through one of the requirements above
|
#
|
||||||
coreapi==2.3.0 # API documentation
|
# pip-compile --output-file=requirements.txt requirements.in
|
||||||
coverage==5.3 # Unit test coverage
|
#
|
||||||
coveralls==2.1.2 # Coveralls linking (for Travis)
|
arrow==1.2.2
|
||||||
cryptography==3.4.8 # Cryptography support
|
# via django-q
|
||||||
django-admin-shell==0.1.2 # Python shell for the admin interface
|
asgiref==3.5.2
|
||||||
django-allauth==0.48.0 # SSO for external providers via OpenID
|
# via django
|
||||||
django-allauth-2fa==0.9 # MFA / 2FA # IMPORTANT: Do only change after reviewing GHSA-8j76-mm54-52xq
|
babel==2.10.3
|
||||||
django-cleanup==5.1.0 # Manage deletion of old / unused uploaded files
|
# via py-moneyed
|
||||||
django-cors-headers==3.2.0 # CORS headers extension for DRF
|
bleach[css]==5.0.0
|
||||||
django-crispy-forms==1.11.2 # Form helpers
|
# via django-markdownify
|
||||||
django-debug-toolbar==3.2.4 # Debug / profiling toolbar
|
blessed==1.19.1
|
||||||
django-error-report==0.2.0 # Error report viewer for the admin interface
|
# via django-q
|
||||||
django-filter==2.4.0 # Extended filtering options
|
brotli==1.0.9
|
||||||
django-formtools==2.3 # Form wizard tools
|
# via fonttools
|
||||||
django-import-export==2.5.0 # Data import / export for admin interface
|
certifi==2022.6.15
|
||||||
django-maintenance-mode==0.16.1 # Shut down application while reloading etc.
|
# via
|
||||||
django-markdownify==0.8.0 # Markdown rendering
|
# requests
|
||||||
django-money==1.1 # Django app for currency management
|
# sentry-sdk
|
||||||
django-mptt==0.11.0 # Modified Preorder Tree Traversal
|
cffi==1.15.0
|
||||||
django-redis>=5.0.0 # Redis integration
|
# via
|
||||||
django-q==1.3.4 # Background task scheduling
|
# cryptography
|
||||||
django-sql-utils==0.5.0 # Advanced query annotation / aggregation
|
# weasyprint
|
||||||
django-sslserver==0.22 # Secure HTTP development server
|
charset-normalizer==2.0.12
|
||||||
django-stdimage==5.1.1 # Advanced ImageField management
|
# via requests
|
||||||
django-test-migrations==1.1.0 # Unit testing for database migrations
|
coreapi==2.3.3
|
||||||
django-user-sessions==1.7.1 # user sessions in DB
|
# via -r requirements.in
|
||||||
django-weasyprint==2.1.0 # django weasyprint integration
|
coreschema==0.0.4
|
||||||
djangorestframework==3.12.4 # DRF framework
|
# via coreapi
|
||||||
django-xforwardedfor-middleware==2.0 # IP forwarding metadata
|
cryptography==37.0.2
|
||||||
flake8==3.8.3 # PEP checking
|
# via pyjwt
|
||||||
flake8-docstrings==1.6.0 # docstring format testing
|
cssselect2==0.6.0
|
||||||
gunicorn>=20.1.0 # Gunicorn web server
|
# via weasyprint
|
||||||
importlib_metadata # Backport for importlib.metadata
|
defusedxml==0.7.1
|
||||||
isort==5.10.1 # DEV: python import sorting
|
# via
|
||||||
markdown==3.3.4 # Force particular version of markdown
|
# odfpy
|
||||||
pdf2image==1.16.0 # PDF to image conversion
|
# python3-openid
|
||||||
pep8-naming==0.11.1 # PEP naming convention extension
|
diff-match-patch==20200713
|
||||||
pre-commit==2.19.0 # Git pre-commit
|
# via django-import-export
|
||||||
pillow==9.1.1 # Image manipulation
|
django==3.2.13
|
||||||
py-moneyed==0.8.0 # Specific version requirement for py-moneyed
|
# via
|
||||||
pygments==2.7.4 # Syntax highlighting
|
# -r requirements.in
|
||||||
python-barcode[images]==0.13.1 # Barcode generator
|
# django-allauth
|
||||||
qrcode[pil]==6.1 # QR code generator
|
# django-allauth-2fa
|
||||||
rapidfuzz==0.7.6 # Fuzzy string matching
|
# django-cors-headers
|
||||||
sentry-sdk==1.5.12 # Error reporting (optional)
|
# django-error-report
|
||||||
tablib[xls,xlsx,yaml] # Support for XLS and XLSX formats
|
# django-filter
|
||||||
weasyprint==55.0 # PDF generation library
|
# django-formtools
|
||||||
|
# django-import-export
|
||||||
|
# django-js-asset
|
||||||
|
# django-markdownify
|
||||||
|
# django-money
|
||||||
|
# django-mptt
|
||||||
|
# django-otp
|
||||||
|
# django-picklefield
|
||||||
|
# django-q
|
||||||
|
# django-redis
|
||||||
|
# django-sql-utils
|
||||||
|
# django-sslserver
|
||||||
|
# django-stdimage
|
||||||
|
# django-user-sessions
|
||||||
|
# django-weasyprint
|
||||||
|
# django-xforwardedfor-middleware
|
||||||
|
# djangorestframework
|
||||||
|
django-allauth==0.51.0
|
||||||
|
# via
|
||||||
|
# -r requirements.in
|
||||||
|
# django-allauth-2fa
|
||||||
|
django-allauth-2fa==0.9
|
||||||
|
# via -r requirements.in
|
||||||
|
django-cleanup==6.0.0
|
||||||
|
# via -r requirements.in
|
||||||
|
django-cors-headers==3.13.0
|
||||||
|
# via -r requirements.in
|
||||||
|
django-crispy-forms==1.14.0
|
||||||
|
# via -r requirements.in
|
||||||
|
django-error-report==0.2.0
|
||||||
|
# via -r requirements.in
|
||||||
|
django-filter==22.1
|
||||||
|
# via -r requirements.in
|
||||||
|
django-formtools==2.3
|
||||||
|
# via -r requirements.in
|
||||||
|
django-import-export==2.5.0
|
||||||
|
# via -r requirements.in
|
||||||
|
django-js-asset==2.0.0
|
||||||
|
# via django-mptt
|
||||||
|
django-maintenance-mode==0.16.3
|
||||||
|
# via -r requirements.in
|
||||||
|
django-markdownify==0.9.2
|
||||||
|
# via -r requirements.in
|
||||||
|
django-money==2.1.1
|
||||||
|
# via -r requirements.in
|
||||||
|
django-mptt==0.11.0
|
||||||
|
# via -r requirements.in
|
||||||
|
django-otp==1.1.3
|
||||||
|
# via django-allauth-2fa
|
||||||
|
django-picklefield==3.1
|
||||||
|
# via django-q
|
||||||
|
django-q==1.3.9
|
||||||
|
# via -r requirements.in
|
||||||
|
django-redis==5.2.0
|
||||||
|
# via -r requirements.in
|
||||||
|
django-sql-utils==0.6.1
|
||||||
|
# via -r requirements.in
|
||||||
|
django-sslserver==0.22
|
||||||
|
# via -r requirements.in
|
||||||
|
django-stdimage==6.0.1
|
||||||
|
# via -r requirements.in
|
||||||
|
django-user-sessions==1.7.1
|
||||||
|
# via -r requirements.in
|
||||||
|
django-weasyprint==2.1.0
|
||||||
|
# via -r requirements.in
|
||||||
|
django-xforwardedfor-middleware==2.0
|
||||||
|
# via -r requirements.in
|
||||||
|
djangorestframework==3.13.1
|
||||||
|
# via -r requirements.in
|
||||||
|
et-xmlfile==1.1.0
|
||||||
|
# via openpyxl
|
||||||
|
fonttools[woff]==4.33.3
|
||||||
|
# via weasyprint
|
||||||
|
gunicorn==20.1.0
|
||||||
|
# via -r requirements.in
|
||||||
|
html5lib==1.1
|
||||||
|
# via weasyprint
|
||||||
|
idna==3.3
|
||||||
|
# via requests
|
||||||
|
importlib-metadata==4.12.0
|
||||||
|
# via markdown
|
||||||
|
itypes==1.2.0
|
||||||
|
# via coreapi
|
||||||
|
jinja2==3.1.2
|
||||||
|
# via coreschema
|
||||||
|
markdown==3.3.7
|
||||||
|
# via django-markdownify
|
||||||
|
markuppy==1.14
|
||||||
|
# via tablib
|
||||||
|
markupsafe==2.1.1
|
||||||
|
# via jinja2
|
||||||
|
oauthlib==3.2.0
|
||||||
|
# via requests-oauthlib
|
||||||
|
odfpy==1.4.1
|
||||||
|
# via tablib
|
||||||
|
openpyxl==3.0.10
|
||||||
|
# via tablib
|
||||||
|
pdf2image==1.16.0
|
||||||
|
# via -r requirements.in
|
||||||
|
pillow==9.1.1
|
||||||
|
# via
|
||||||
|
# -r requirements.in
|
||||||
|
# django-stdimage
|
||||||
|
# pdf2image
|
||||||
|
# python-barcode
|
||||||
|
# qrcode
|
||||||
|
# weasyprint
|
||||||
|
py-moneyed==1.2
|
||||||
|
# via
|
||||||
|
# -r requirements.in
|
||||||
|
# django-money
|
||||||
|
pycparser==2.21
|
||||||
|
# via cffi
|
||||||
|
pydyf==0.2.0
|
||||||
|
# via weasyprint
|
||||||
|
pyjwt[crypto]==2.4.0
|
||||||
|
# via django-allauth
|
||||||
|
pyphen==0.12.0
|
||||||
|
# via weasyprint
|
||||||
|
python-barcode[images]==0.14.0
|
||||||
|
# via -r requirements.in
|
||||||
|
python-dateutil==2.8.2
|
||||||
|
# via arrow
|
||||||
|
python-fsutil==0.6.1
|
||||||
|
# via django-maintenance-mode
|
||||||
|
python3-openid==3.2.0
|
||||||
|
# via django-allauth
|
||||||
|
pytz==2022.1
|
||||||
|
# via
|
||||||
|
# babel
|
||||||
|
# django
|
||||||
|
# djangorestframework
|
||||||
|
pyyaml==6.0
|
||||||
|
# via tablib
|
||||||
|
qrcode[pil]==7.3.1
|
||||||
|
# via
|
||||||
|
# -r requirements.in
|
||||||
|
# django-allauth-2fa
|
||||||
|
rapidfuzz==0.7.6
|
||||||
|
# via -r requirements.in
|
||||||
|
redis==3.5.3
|
||||||
|
# via
|
||||||
|
# django-q
|
||||||
|
# django-redis
|
||||||
|
requests==2.28.0
|
||||||
|
# via
|
||||||
|
# coreapi
|
||||||
|
# django-allauth
|
||||||
|
# requests-oauthlib
|
||||||
|
requests-oauthlib==1.3.1
|
||||||
|
# via django-allauth
|
||||||
|
sentry-sdk==1.6.0
|
||||||
|
# via -r requirements.in
|
||||||
|
six==1.16.0
|
||||||
|
# via
|
||||||
|
# bleach
|
||||||
|
# blessed
|
||||||
|
# html5lib
|
||||||
|
# python-dateutil
|
||||||
|
sqlparse==0.4.2
|
||||||
|
# via
|
||||||
|
# django
|
||||||
|
# django-sql-utils
|
||||||
|
tablib[html,ods,xls,xlsx,yaml]==3.2.1
|
||||||
|
# via
|
||||||
|
# -r requirements.in
|
||||||
|
# django-import-export
|
||||||
|
tinycss2==1.1.1
|
||||||
|
# via
|
||||||
|
# bleach
|
||||||
|
# cssselect2
|
||||||
|
# weasyprint
|
||||||
|
uritemplate==4.1.1
|
||||||
|
# via coreapi
|
||||||
|
urllib3==1.26.9
|
||||||
|
# via
|
||||||
|
# requests
|
||||||
|
# sentry-sdk
|
||||||
|
wcwidth==0.2.5
|
||||||
|
# via blessed
|
||||||
|
weasyprint==55.0
|
||||||
|
# via django-weasyprint
|
||||||
|
webencodings==0.5.1
|
||||||
|
# via
|
||||||
|
# bleach
|
||||||
|
# cssselect2
|
||||||
|
# html5lib
|
||||||
|
# tinycss2
|
||||||
|
xlrd==2.0.1
|
||||||
|
# via tablib
|
||||||
|
xlwt==1.3.0
|
||||||
|
# via tablib
|
||||||
|
zipp==3.8.0
|
||||||
|
# via importlib-metadata
|
||||||
|
zopfli==0.2.1
|
||||||
|
# via fonttools
|
||||||
|
|
||||||
|
# The following packages are considered to be unsafe in a requirements file:
|
||||||
|
# setuptools
|
||||||
|
4
tasks.py
4
tasks.py
@ -111,10 +111,10 @@ def install(c):
|
|||||||
@task
|
@task
|
||||||
def setup_dev(c):
|
def setup_dev(c):
|
||||||
"""Sets up everything needed for the dev enviroment."""
|
"""Sets up everything needed for the dev enviroment."""
|
||||||
print("Installing required python packages from 'requirements.txt'")
|
print("Installing required python packages from 'requirements-dev.txt'")
|
||||||
|
|
||||||
# Install required Python packages with PIP
|
# Install required Python packages with PIP
|
||||||
c.run('pip3 install -U -r requirements.txt')
|
c.run('pip3 install -U -r requirements-dev.txt')
|
||||||
|
|
||||||
# Install pre-commit hook
|
# Install pre-commit hook
|
||||||
c.run('pre-commit install')
|
c.run('pre-commit install')
|
||||||
|
Loading…
Reference in New Issue
Block a user