@@ -7,7 +7,7 @@ name = "cumulusci"
77dynamic = [" readme" , " version" ]
88description = " Build and release tools for Salesforce developers"
99license = { text = " BSD 3-Clause License" }
10- requires-python = " >=3.8 "
10+ requires-python = " >=3.11 "
1111authors = [
1212 { name = " Salesforce.org" , email = " sfdo-mrbelvedere@salesforce.com" },
1313]
@@ -18,25 +18,21 @@ classifiers = [
1818 " License :: OSI Approved :: BSD License" ,
1919 " Natural Language :: English" ,
2020 " Programming Language :: Python :: 3" ,
21- " Programming Language :: Python :: 3.8" ,
22- " Programming Language :: Python :: 3.9" ,
23- " Programming Language :: Python :: 3.10" ,
2421 " Programming Language :: Python :: 3.11" ,
2522 " Programming Language :: Python :: 3.12" ,
23+ " Programming Language :: Python :: 3.13" ,
2624]
2725dependencies = [
28- " click" ,
26+ " click>=8.1 " ,
2927 " cryptography" ,
3028 " python-dateutil" ,
31- " docutils<0.17" ,
3229 " Faker" ,
3330 " fs" ,
3431 " github3.py" ,
3532 " jinja2" ,
3633 " keyring<=23.0.1" ,
3734 " defusedxml" ,
3835 " lxml" ,
39- " markdown-it-py==2.2.0" , # resolve dependency conflict between prod/dev
4036 " MarkupSafe" ,
4137 " psutil" ,
4238 " pydantic<2" ,
@@ -45,38 +41,46 @@ dependencies = [
4541 " pyyaml" ,
4642 " requests" ,
4743 " requests-futures" ,
48- " rich" ,
44+ " rich>=13.9.4 " ,
4945 " robotframework" ,
46+ " SQLAlchemy<2" ,
5047 " robotframework-pabot" ,
5148 " robotframework-requests" ,
5249 " robotframework-seleniumlibrary<6" ,
53- " rst2ansi" ,
50+ " rst2ansi>=0.1.5 " ,
5451 " salesforce-bulk" ,
5552 " sarge" ,
5653 " selenium<4" ,
5754 " simple-salesforce==1.11.4" ,
58- " snowfakery" ,
59- " SQLAlchemy<2" ,
55+ " snowfakery>=4.0.0" ,
6056 " xmltodict" ,
6157]
6258
63- [project .optional-dependencies ]
64- docs = [" myst-parser" , " Sphinx" ]
65- lint = [" black" , " flake8<4" , " isort" , " pre-commit" ]
66- test = [
67- " coverage[toml]" ,
68- " factory-boy" ,
69- " furo" ,
70- " jsonschema" ,
71- " pytest<7.1 " , # https://github.com/pytest-dev/pytest/issues/9765
72- " pytest-cov" ,
73- " pytest-random-order" ,
74- " pytest-vcr" ,
75- " responses" ,
76- " testfixtures" ,
77- " tox" ,
78- " typeguard<=2.13.3" , # TODO: Lots of changes required for v4
79- " vcrpy"
59+ [dependency-groups ]
60+ docs = [
61+ " myst-parser>=1.0.0" ,
62+ " sphinx>=5.3.0" ,
63+ ]
64+ dev = [
65+ " coverage[toml]>=7.6.1" ,
66+ " factory-boy>=3.3.1" ,
67+ " furo>=2023.3.27" ,
68+ " jsonschema>=4.23.0" ,
69+ " pytest>=7.0.1" ,
70+ " pytest-cov>=5.0.0" ,
71+ " pytest-random-order>=1.1.1" ,
72+ " pytest-vcr>=1.0.2" ,
73+ " responses>=0.23.1" ,
74+ " testfixtures>=8.3.0" ,
75+ " tox>=4.20.0" ,
76+ " typeguard<=2.13.3" , # TODO: Lots of changes required for v4
77+ " vcrpy>=6.0.2" ,
78+ ]
79+ lint = [
80+ " black>=24.8.0" ,
81+ " flake8<4" ,
82+ " isort>=5.13.2" ,
83+ " pre-commit>=3.5.0" ,
8084]
8185
8286[project .scripts ]
@@ -102,16 +106,13 @@ include = [
102106include = [
103107 " /cumulusci" ,
104108 " /requirements/*" , # Needed by tox
105- " README.md" , # needed by hatch-fancy-pypi-readme
106- " docs/history.md"
109+ " README.md" , # needed by hatch-fancy-pypi-readme
110+ " docs/history.md" ,
107111 # ditto
108112]
109113
110114[tool .hatch .build .targets .wheel ]
111- exclude = [
112- " *.sql" ,
113- " *.zip"
114- ]
115+ exclude = [" *.sql" , " *.zip" ]
115116
116117[tool .hatch .metadata .hooks .fancy-pypi-readme ]
117118content-type = " text/markdown"
@@ -254,7 +255,7 @@ include = [
254255 ' cumulusci/tests/util.py' ,
255256 ' cumulusci/utils/waiting.py' ,
256257 ' cumulusci/utils/xml/robot_xml.py' ,
257- ' cumulusci/utils/ziputils.py'
258+ ' cumulusci/utils/ziputils.py' ,
258259]
259260# Do not add to this list. Instead use
260261# # pyright: strict
@@ -290,5 +291,5 @@ strict = [
290291 ' cumulusci/tasks/release_notes/exceptions.py' ,
291292 ' cumulusci/tasks/salesforce/BaseSalesforceTask.py' ,
292293 ' cumulusci/tasks/vlocity/exceptions.py' ,
293- ' cumulusci/utils/soql.py'
294+ ' cumulusci/utils/soql.py' ,
294295]
0 commit comments