mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-05 18:53:28 +02:00
Save progress
This commit is contained in:
parent
71d44353d1
commit
2d52e02b59
5 changed files with 1133 additions and 769 deletions
1
src/.zshrc
Normal file
1
src/.zshrc
Normal file
|
@ -0,0 +1 @@
|
|||
export DOCKER_DEFAULT_PLATFORM=linux/amd64
|
1367
src/Pipfile.lock
generated
1367
src/Pipfile.lock
generated
File diff suppressed because it is too large
Load diff
463
src/models_diagram.puml
Normal file
463
src/models_diagram.puml
Normal file
|
@ -0,0 +1,463 @@
|
|||
@startuml
|
||||
class "registrar.Contact <Registrar>" as registrar.Contact #d6f4e9 {
|
||||
contact
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ first_name (CharField)
|
||||
+ middle_name (CharField)
|
||||
+ last_name (CharField)
|
||||
+ title (CharField)
|
||||
+ email (EmailField)
|
||||
+ phone (PhoneNumberField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.Host <Registrar>" as registrar.Host #d6f4e9 {
|
||||
host
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
~ domain (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.Host -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.HostIP <Registrar>" as registrar.HostIP #d6f4e9 {
|
||||
host ip
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ address (CharField)
|
||||
~ host (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.HostIP -- registrar.Host
|
||||
|
||||
|
||||
class "registrar.PublicContact <Registrar>" as registrar.PublicContact #d6f4e9 {
|
||||
public contact
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ contact_type (CharField)
|
||||
+ registry_id (CharField)
|
||||
~ domain (ForeignKey)
|
||||
+ name (CharField)
|
||||
+ org (CharField)
|
||||
+ street1 (CharField)
|
||||
+ street2 (CharField)
|
||||
+ street3 (CharField)
|
||||
+ city (CharField)
|
||||
+ sp (CharField)
|
||||
+ pc (CharField)
|
||||
+ cc (CharField)
|
||||
+ email (EmailField)
|
||||
+ voice (CharField)
|
||||
+ fax (CharField)
|
||||
+ pw (CharField)
|
||||
--
|
||||
}
|
||||
registrar.PublicContact -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.UserDomainRole <Registrar>" as registrar.UserDomainRole #d6f4e9 {
|
||||
user domain role
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
~ user (ForeignKey)
|
||||
~ domain (ForeignKey)
|
||||
+ role (TextField)
|
||||
--
|
||||
}
|
||||
registrar.UserDomainRole -- registrar.User
|
||||
registrar.UserDomainRole -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.Domain <Registrar>" as registrar.Domain #d6f4e9 {
|
||||
domain
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (DomainField)
|
||||
+ state (FSMField)
|
||||
+ expiration_date (DateField)
|
||||
+ security_contact_registry_id (TextField)
|
||||
+ deleted (DateField)
|
||||
+ first_ready (DateField)
|
||||
+ dsdata_last_change (TextField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.FederalAgency <Registrar>" as registrar.FederalAgency #d6f4e9 {
|
||||
Federal agency
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ agency (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ initials (CharField)
|
||||
+ is_fceb (BooleanField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.DomainRequest <Registrar>" as registrar.DomainRequest #d6f4e9 {
|
||||
domain request
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ status (FSMField)
|
||||
+ rejection_reason (TextField)
|
||||
+ action_needed_reason (TextField)
|
||||
+ action_needed_reason_email (TextField)
|
||||
~ federal_agency (ForeignKey)
|
||||
~ portfolio (ForeignKey)
|
||||
~ sub_organization (ForeignKey)
|
||||
~ creator (ForeignKey)
|
||||
~ investigator (ForeignKey)
|
||||
+ generic_org_type (CharField)
|
||||
+ is_election_board (BooleanField)
|
||||
+ organization_type (CharField)
|
||||
+ federally_recognized_tribe (BooleanField)
|
||||
+ state_recognized_tribe (BooleanField)
|
||||
+ tribe_name (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ organization_name (CharField)
|
||||
+ address_line1 (CharField)
|
||||
+ address_line2 (CharField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
+ urbanization (CharField)
|
||||
+ about_your_organization (TextField)
|
||||
~ senior_official (ForeignKey)
|
||||
~ approved_domain (OneToOneField)
|
||||
~ requested_domain (OneToOneField)
|
||||
+ purpose (TextField)
|
||||
+ no_other_contacts_rationale (TextField)
|
||||
+ anything_else (TextField)
|
||||
+ has_anything_else_text (BooleanField)
|
||||
+ cisa_representative_email (EmailField)
|
||||
+ cisa_representative_first_name (CharField)
|
||||
+ cisa_representative_last_name (CharField)
|
||||
+ has_cisa_representative (BooleanField)
|
||||
+ is_policy_acknowledged (BooleanField)
|
||||
+ submission_date (DateField)
|
||||
+ notes (TextField)
|
||||
# current_websites (ManyToManyField)
|
||||
# alternative_domains (ManyToManyField)
|
||||
# other_contacts (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.DomainRequest -- registrar.FederalAgency
|
||||
registrar.DomainRequest -- registrar.Portfolio
|
||||
registrar.DomainRequest -- registrar.Suborganization
|
||||
registrar.DomainRequest -- registrar.User
|
||||
registrar.DomainRequest -- registrar.User
|
||||
registrar.DomainRequest -- registrar.Contact
|
||||
registrar.DomainRequest -- registrar.Domain
|
||||
registrar.DomainRequest -- registrar.DraftDomain
|
||||
registrar.DomainRequest *--* registrar.Website
|
||||
registrar.DomainRequest *--* registrar.Website
|
||||
registrar.DomainRequest *--* registrar.Contact
|
||||
|
||||
|
||||
class "registrar.DomainInformation <Registrar>" as registrar.DomainInformation #d6f4e9 {
|
||||
domain information
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
~ federal_agency (ForeignKey)
|
||||
~ creator (ForeignKey)
|
||||
~ portfolio (ForeignKey)
|
||||
~ sub_organization (ForeignKey)
|
||||
~ domain_request (OneToOneField)
|
||||
+ generic_org_type (CharField)
|
||||
+ organization_type (CharField)
|
||||
+ federally_recognized_tribe (BooleanField)
|
||||
+ state_recognized_tribe (BooleanField)
|
||||
+ tribe_name (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ is_election_board (BooleanField)
|
||||
+ organization_name (CharField)
|
||||
+ address_line1 (CharField)
|
||||
+ address_line2 (CharField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
+ urbanization (CharField)
|
||||
+ about_your_organization (TextField)
|
||||
~ senior_official (ForeignKey)
|
||||
~ domain (OneToOneField)
|
||||
+ purpose (TextField)
|
||||
+ no_other_contacts_rationale (TextField)
|
||||
+ anything_else (TextField)
|
||||
+ has_anything_else_text (BooleanField)
|
||||
+ cisa_representative_email (EmailField)
|
||||
+ cisa_representative_first_name (CharField)
|
||||
+ cisa_representative_last_name (CharField)
|
||||
+ has_cisa_representative (BooleanField)
|
||||
+ is_policy_acknowledged (BooleanField)
|
||||
+ notes (TextField)
|
||||
# other_contacts (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.DomainInformation -- registrar.FederalAgency
|
||||
registrar.DomainInformation -- registrar.User
|
||||
registrar.DomainInformation -- registrar.Portfolio
|
||||
registrar.DomainInformation -- registrar.Suborganization
|
||||
registrar.DomainInformation -- registrar.DomainRequest
|
||||
registrar.DomainInformation -- registrar.Contact
|
||||
registrar.DomainInformation -- registrar.Domain
|
||||
registrar.DomainInformation *--* registrar.Contact
|
||||
|
||||
|
||||
class "registrar.DraftDomain <Registrar>" as registrar.DraftDomain #d6f4e9 {
|
||||
draft domain
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.DomainInvitation <Registrar>" as registrar.DomainInvitation #d6f4e9 {
|
||||
domain invitation
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ email (EmailField)
|
||||
~ domain (ForeignKey)
|
||||
+ status (FSMField)
|
||||
--
|
||||
}
|
||||
registrar.DomainInvitation -- registrar.Domain
|
||||
|
||||
|
||||
class "registrar.PortfolioInvitation <Registrar>" as registrar.PortfolioInvitation #d6f4e9 {
|
||||
portfolio invitation
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ email (EmailField)
|
||||
~ portfolio (ForeignKey)
|
||||
+ portfolio_roles (ArrayField)
|
||||
+ portfolio_additional_permissions (ArrayField)
|
||||
+ status (FSMField)
|
||||
--
|
||||
}
|
||||
registrar.PortfolioInvitation -- registrar.Portfolio
|
||||
|
||||
|
||||
class "registrar.TransitionDomain <Registrar>" as registrar.TransitionDomain #d6f4e9 {
|
||||
transition domain
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ username (CharField)
|
||||
+ domain_name (CharField)
|
||||
+ status (CharField)
|
||||
+ email_sent (BooleanField)
|
||||
+ processed (BooleanField)
|
||||
+ generic_org_type (CharField)
|
||||
+ organization_name (CharField)
|
||||
+ federal_type (CharField)
|
||||
+ federal_agency (CharField)
|
||||
+ epp_creation_date (DateField)
|
||||
+ epp_expiration_date (DateField)
|
||||
+ first_name (CharField)
|
||||
+ middle_name (CharField)
|
||||
+ last_name (CharField)
|
||||
+ title (CharField)
|
||||
+ email (EmailField)
|
||||
+ phone (CharField)
|
||||
+ address_line (CharField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.VerifiedByStaff <Registrar>" as registrar.VerifiedByStaff #d6f4e9 {
|
||||
verified by staff
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ email (EmailField)
|
||||
~ requestor (ForeignKey)
|
||||
+ notes (TextField)
|
||||
--
|
||||
}
|
||||
registrar.VerifiedByStaff -- registrar.User
|
||||
|
||||
|
||||
class "registrar.User <Registrar>" as registrar.User #d6f4e9 {
|
||||
user
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ password (CharField)
|
||||
+ last_login (DateTimeField)
|
||||
+ is_superuser (BooleanField)
|
||||
+ username (CharField)
|
||||
+ first_name (CharField)
|
||||
+ last_name (CharField)
|
||||
+ email (EmailField)
|
||||
+ is_staff (BooleanField)
|
||||
+ is_active (BooleanField)
|
||||
+ date_joined (DateTimeField)
|
||||
+ status (CharField)
|
||||
~ portfolio (ForeignKey)
|
||||
+ portfolio_roles (ArrayField)
|
||||
+ portfolio_additional_permissions (ArrayField)
|
||||
+ phone (PhoneNumberField)
|
||||
+ middle_name (CharField)
|
||||
+ title (CharField)
|
||||
+ verification_type (CharField)
|
||||
# groups (ManyToManyField)
|
||||
# user_permissions (ManyToManyField)
|
||||
# domains (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.User -- registrar.Portfolio
|
||||
registrar.User *--* registrar.Domain
|
||||
|
||||
|
||||
class "registrar.UserGroup <Registrar>" as registrar.UserGroup #d6f4e9 {
|
||||
User group
|
||||
--
|
||||
- id (AutoField)
|
||||
+ name (CharField)
|
||||
~ group_ptr (OneToOneField)
|
||||
# permissions (ManyToManyField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.Website <Registrar>" as registrar.Website #d6f4e9 {
|
||||
website
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ website (CharField)
|
||||
--
|
||||
}
|
||||
|
||||
|
||||
class "registrar.WaffleFlag <Registrar>" as registrar.WaffleFlag #d6f4e9 {
|
||||
waffle flag
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ name (CharField)
|
||||
+ everyone (BooleanField)
|
||||
+ percent (DecimalField)
|
||||
+ testing (BooleanField)
|
||||
+ superusers (BooleanField)
|
||||
+ staff (BooleanField)
|
||||
+ authenticated (BooleanField)
|
||||
+ languages (TextField)
|
||||
+ rollout (BooleanField)
|
||||
+ note (TextField)
|
||||
+ created (DateTimeField)
|
||||
+ modified (DateTimeField)
|
||||
# groups (ManyToManyField)
|
||||
# users (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.WaffleFlag *--* registrar.User
|
||||
|
||||
|
||||
class "registrar.Portfolio <Registrar>" as registrar.Portfolio #d6f4e9 {
|
||||
portfolio
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
~ creator (ForeignKey)
|
||||
+ organization_name (CharField)
|
||||
+ organization_type (CharField)
|
||||
+ notes (TextField)
|
||||
~ federal_agency (ForeignKey)
|
||||
~ senior_official (ForeignKey)
|
||||
+ address_line1 (CharField)
|
||||
+ address_line2 (CharField)
|
||||
+ city (CharField)
|
||||
+ state_territory (CharField)
|
||||
+ zipcode (CharField)
|
||||
+ urbanization (CharField)
|
||||
+ security_contact_email (EmailField)
|
||||
--
|
||||
}
|
||||
registrar.Portfolio -- registrar.User
|
||||
registrar.Portfolio -- registrar.FederalAgency
|
||||
registrar.Portfolio -- registrar.SeniorOfficial
|
||||
|
||||
|
||||
class "registrar.DomainGroup <Registrar>" as registrar.DomainGroup #d6f4e9 {
|
||||
domain group
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
~ portfolio (ForeignKey)
|
||||
# domains (ManyToManyField)
|
||||
--
|
||||
}
|
||||
registrar.DomainGroup -- registrar.Portfolio
|
||||
registrar.DomainGroup *--* registrar.DomainInformation
|
||||
|
||||
|
||||
class "registrar.Suborganization <Registrar>" as registrar.Suborganization #d6f4e9 {
|
||||
suborganization
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ name (CharField)
|
||||
~ portfolio (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.Suborganization -- registrar.Portfolio
|
||||
|
||||
|
||||
class "registrar.SeniorOfficial <Registrar>" as registrar.SeniorOfficial #d6f4e9 {
|
||||
senior official
|
||||
--
|
||||
+ id (BigAutoField)
|
||||
+ created_at (DateTimeField)
|
||||
+ updated_at (DateTimeField)
|
||||
+ first_name (CharField)
|
||||
+ last_name (CharField)
|
||||
+ title (CharField)
|
||||
+ phone (PhoneNumberField)
|
||||
+ email (EmailField)
|
||||
~ federal_agency (ForeignKey)
|
||||
--
|
||||
}
|
||||
registrar.SeniorOfficial -- registrar.FederalAgency
|
||||
|
||||
|
||||
@enduml
|
|
@ -357,7 +357,7 @@ CSP_FORM_ACTION = allowed_sources
|
|||
# and inline with a nonce, as well as allowing connections back to their domain.
|
||||
# Note: If needed, we can embed chart.js instead of using the CDN
|
||||
CSP_DEFAULT_SRC = ("'self'",)
|
||||
CSP_STYLE_SRC = ["'self'", "https://www.ssa.gov/accessibility/andi/andi.css"]
|
||||
CSP_STYLE_SRC = ["'self'", "https://www.ssa.gov"]
|
||||
CSP_SCRIPT_SRC_ELEM = [
|
||||
"'self'",
|
||||
"https://www.googletagmanager.com/",
|
||||
|
@ -367,7 +367,7 @@ CSP_SCRIPT_SRC_ELEM = [
|
|||
]
|
||||
CSP_CONNECT_SRC = ["'self'", "https://www.google-analytics.com/", "https://www.ssa.gov/accessibility/andi/andi.js"]
|
||||
CSP_INCLUDE_NONCE_IN = ["script-src-elem", "style-src"]
|
||||
CSP_IMG_SRC = ["'self'", "https://www.ssa.gov/accessibility/andi/icons/"]
|
||||
CSP_IMG_SRC = ["'self'", "https://www.ssa.gov"]
|
||||
|
||||
# Cross-Origin Resource Sharing (CORS) configuration
|
||||
# Sets clients that allow access control to manage.get.gov
|
||||
|
|
|
@ -1,75 +1,68 @@
|
|||
-i https://pypi.python.org/simple
|
||||
annotated-types==0.6.0; python_version >= '3.8'
|
||||
annotated-types==0.7.0; python_version >= '3.8'
|
||||
asgiref==3.8.1; python_version >= '3.8'
|
||||
boto3==1.34.95; python_version >= '3.8'
|
||||
botocore==1.34.95; python_version >= '3.8'
|
||||
cachetools==5.3.3; python_version >= '3.7'
|
||||
certifi==2024.2.2; python_version >= '3.6'
|
||||
boto3==1.35.8; python_version >= '3.8'
|
||||
botocore==1.35.8; python_version >= '3.8'
|
||||
cachetools==5.5.0; python_version >= '3.7'
|
||||
certifi==2024.7.4; python_version >= '3.6'
|
||||
cfenv==0.5.3
|
||||
cffi==1.16.0; platform_python_implementation != 'PyPy'
|
||||
cffi==1.17.0; platform_python_implementation != 'PyPy'
|
||||
charset-normalizer==3.3.2; python_full_version >= '3.7.0'
|
||||
cryptography==42.0.5; python_version >= '3.7'
|
||||
cryptography==43.0.0; python_version >= '3.7'
|
||||
defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
||||
diff-match-patch==20230430; python_version >= '3.7'
|
||||
dj-database-url==2.1.0
|
||||
dj-database-url==2.2.0
|
||||
dj-email-url==1.0.6
|
||||
django==4.2.10; python_version >= '3.8'
|
||||
django-admin-multiple-choice-list-filter==0.1.1
|
||||
django-allow-cidr==0.7.1
|
||||
django-auditlog==3.0.0; python_version >= '3.8'
|
||||
django-cache-url==3.4.5
|
||||
django-cors-headers==4.3.1; python_version >= '3.8'
|
||||
django-cors-headers==4.4.0; python_version >= '3.8'
|
||||
django-csp==3.8
|
||||
django-fsm==2.8.1
|
||||
django-import-export==3.3.8; python_version >= '3.8'
|
||||
django-import-export==4.1.1; python_version >= '3.8'
|
||||
django-login-required-middleware==0.9.0
|
||||
django-phonenumber-field[phonenumberslite]==7.3.0; python_version >= '3.8'
|
||||
django-phonenumber-field[phonenumberslite]==8.0.0; python_version >= '3.8'
|
||||
django-waffle==4.1.0; python_version >= '3.8'
|
||||
django-widget-tweaks==1.5.0; python_version >= '3.8'
|
||||
environs[django]==11.0.0; python_version >= '3.8'
|
||||
et-xmlfile==1.1.0; python_version >= '3.6'
|
||||
faker==25.0.0; python_version >= '3.8'
|
||||
faker==28.0.0; python_version >= '3.8'
|
||||
fred-epplib@ git+https://github.com/cisagov/epplib.git@d56d183f1664f34c40ca9716a3a9a345f0ef561c
|
||||
furl==2.1.3
|
||||
future==1.0.0; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
||||
gevent==24.2.1; python_version >= '3.8'
|
||||
greenlet==3.0.3; python_version >= '3.7'
|
||||
gunicorn==22.0.0; python_version >= '3.7'
|
||||
idna==3.7; python_version >= '3.5'
|
||||
gunicorn==23.0.0; python_version >= '3.7'
|
||||
idna==3.8; python_version >= '3.6'
|
||||
jmespath==1.0.1; python_version >= '3.7'
|
||||
lxml==5.2.1; python_version >= '3.6'
|
||||
mako==1.3.3; python_version >= '3.8'
|
||||
markuppy==1.14
|
||||
lxml==5.3.0; python_version >= '3.6'
|
||||
mako==1.3.5; python_version >= '3.8'
|
||||
markupsafe==2.1.5; python_version >= '3.7'
|
||||
marshmallow==3.21.1; python_version >= '3.8'
|
||||
odfpy==1.4.1
|
||||
marshmallow==3.22.0; python_version >= '3.8'
|
||||
oic==1.7.0; python_version ~= '3.8'
|
||||
openpyxl==3.1.2
|
||||
orderedmultidict==1.0.1
|
||||
packaging==24.0; python_version >= '3.7'
|
||||
phonenumberslite==8.13.35
|
||||
packaging==24.1; python_version >= '3.8'
|
||||
phonenumberslite==8.13.44
|
||||
psycopg2-binary==2.9.9; python_version >= '3.7'
|
||||
pycparser==2.22; python_version >= '3.8'
|
||||
pycryptodomex==3.20.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
||||
pydantic==2.7.1; python_version >= '3.8'
|
||||
pydantic-core==2.18.2; python_version >= '3.8'
|
||||
pydantic-settings==2.2.1; python_version >= '3.8'
|
||||
pydantic==2.8.2; python_version >= '3.8'
|
||||
pydantic-core==2.20.1; python_version >= '3.8'
|
||||
pydantic-settings==2.4.0; python_version >= '3.8'
|
||||
pyjwkest==1.4.2
|
||||
python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
||||
python-dotenv==1.0.1; python_version >= '3.8'
|
||||
pyyaml==6.0.1
|
||||
pyzipper==0.3.6; python_version >= '3.4'
|
||||
requests==2.31.0; python_version >= '3.7'
|
||||
s3transfer==0.10.1; python_version >= '3.8'
|
||||
setuptools==69.5.1; python_version >= '3.8'
|
||||
requests==2.32.3; python_version >= '3.8'
|
||||
s3transfer==0.10.2; python_version >= '3.8'
|
||||
setuptools==74.0.0; python_version >= '3.8'
|
||||
six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
||||
sqlparse==0.5.0; python_version >= '3.8'
|
||||
sqlparse==0.5.1; python_version >= '3.8'
|
||||
tablib[html,ods,xls,xlsx,yaml]==3.5.0; python_version >= '3.8'
|
||||
tblib==3.0.0; python_version >= '3.8'
|
||||
typing-extensions==4.11.0; python_version >= '3.8'
|
||||
urllib3==2.2.1; python_version >= '3.8'
|
||||
whitenoise==6.6.0; python_version >= '3.8'
|
||||
xlrd==2.0.1
|
||||
xlwt==1.3.0
|
||||
typing-extensions==4.12.2; python_version >= '3.8'
|
||||
urllib3==2.2.2; python_version >= '3.8'
|
||||
whitenoise==6.7.0; python_version >= '3.8'
|
||||
zope.event==5.0; python_version >= '3.7'
|
||||
zope.interface==6.3; python_version >= '3.7'
|
||||
zope.interface==7.0.3; python_version >= '3.8'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue