Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Python 3.12 support #2522

Closed
soininen opened this issue Jan 25, 2024 · 5 comments
Closed

Enable Python 3.12 support #2522

soininen opened this issue Jan 25, 2024 · 5 comments
Assignees
Milestone

Comments

@soininen
Copy link
Contributor

Python 3.12 has been released some time ago. However, we report our maximum supported version to be 3.11.

  • Check that Spine Toolbox works on Python 3.12
  • Change the maximum supported version to 3.12
  • Check if the warning about the need to install Microsoft build tools applies to Python 3.12 as well
@soininen soininen added this to the v0.8.0 milestone Jan 25, 2024
@soininen soininen self-assigned this Jan 25, 2024
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue Jan 25, 2024
soininen added a commit to spine-tools/spine-engine that referenced this issue Jan 25, 2024
soininen added a commit to spine-tools/spine-items that referenced this issue Jan 25, 2024
soininen added a commit to spine-tools/spine-items that referenced this issue Jan 25, 2024
@soininen
Copy link
Contributor Author

It turns out we cannot enable Python 3.12 support yet. The reason is the pendulum package that gained Python 3.12 support only in version 3.0 but Dagster requires Pendulum version less than 3.0.

Additionally, Toolbox installation on 3.12 still requires Microsoft build tools on Windows systems which should be mentioned in the documentation once Python 3.12 is supported.

@manuelma
Copy link
Collaborator

This might sound crazy but can we just ditch dagster? We are hooked on an older version, using API that is deprecated in the most recent version. My feeling is we could replicate the bit of functionality that we use from that old dagster with not too much effort (but I might be wrong)?

@soininen
Copy link
Contributor Author

This might sound crazy but can we just ditch dagster?

You are not crazy. I have been pondering the same. Maybe we should first try to upgrade it and if that seems even a little bit messy, then just ditch?

soininen added a commit to spine-tools/Spine-Database-API that referenced this issue Apr 2, 2024
soininen added a commit to spine-tools/spine-engine that referenced this issue Apr 2, 2024
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue Apr 2, 2024
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue Apr 2, 2024
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue Apr 2, 2024
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue Apr 25, 2024
Spine Engine doesn't use Dagster anymore, so we need not restrict
spinedb_api dependencies anymore.

Also, removed requirements.txt files in favor of pyproject.toml.
Developer and documentation dependencies can now be installed
by specifying the [dev] tag when telling Pip to install this
package, i.e.

python -mpip install -e .[dev]

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-engine that referenced this issue Apr 25, 2024
Cleaned up dependencies since Dagster is now gone.

Moved doc and dev requirements to pyproject.toml

Also, removed some auto-generated files in docs/source/autoapi
that were accidentally committed to the repo.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-engine that referenced this issue Apr 25, 2024
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue Apr 25, 2024
Spine Engine doesn't use Dagster anymore, so we need not restrict
spinedb_api dependencies anymore.

Also, removed requirements.txt files in favor of pyproject.toml.
Developer and documentation dependencies can now be installed
by specifying the [dev] tag when telling Pip to install this
package, i.e.

python -mpip install -e .[dev]

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-items that referenced this issue Apr 25, 2024
soininen added a commit to spine-tools/spine-items that referenced this issue Apr 25, 2024
soininen added a commit that referenced this issue Apr 25, 2024
Also, cleaned up dependencies after Dagster removal.
We now favor pyproject.toml for developer dependencies;
dev-requirements.txt and docs/requirements.txt files have been removed.

Re #2522
@soininen
Copy link
Contributor Author

soininen commented Apr 25, 2024

After we got rid of Dagster and its dependencies, outdated 3rd party packages are not blocking Python 3.12 anymore.

However, Toolbox crashes on a segfault immediately upon startup with Python 3.12. I need to still figure out what goes wrong.

@soininen soininen modified the milestones: v0.8.0, v0.8.1 Apr 30, 2024
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue May 15, 2024
Spine Engine doesn't use Dagster anymore, so we need not restrict
spinedb_api dependencies anymore.

Also, removed requirements.txt files in favor of pyproject.toml.
Developer and documentation dependencies can now be installed
by specifying the [dev] tag when telling Pip to install this
package, i.e.

python -mpip install -e .[dev]

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-engine that referenced this issue May 15, 2024
Cleaned up dependencies since Dagster is now gone.

Moved doc and dev requirements to pyproject.toml

Also, removed some auto-generated files in docs/source/autoapi
that were accidentally committed to the repo.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-engine that referenced this issue May 15, 2024
soininen added a commit that referenced this issue May 15, 2024
Also, cleaned up dependencies after Dagster removal.
We now favor pyproject.toml for developer dependencies;
dev-requirements.txt and docs/requirements.txt files have been removed.

Re #2522
soininen added a commit to spine-tools/spine-items that referenced this issue May 15, 2024
soininen added a commit to spine-tools/spine-items that referenced this issue May 15, 2024
soininen added a commit that referenced this issue May 15, 2024
Also, cleaned up dependencies after Dagster removal.
We now favor pyproject.toml for developer dependencies;
dev-requirements.txt and docs/requirements.txt files have been removed.

Re #2522
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue May 15, 2024
Spine Engine doesn't use Dagster anymore, so we need not restrict
spinedb_api dependencies anymore.

Developer and documentation dependencies can now be installed
by a single dev-requirements.txt file.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue May 15, 2024
Spine Engine doesn't use Dagster anymore, so we need not restrict
spinedb_api dependencies anymore.

Developer and documentation dependencies can now be installed
by a single dev-requirements.txt file.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-engine that referenced this issue May 15, 2024
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue May 15, 2024
Spine Engine doesn't use Dagster anymore, so we need not restrict
spinedb_api dependencies anymore.

Developer and documentation dependencies can now be installed
by a single dev-requirements.txt file.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-items that referenced this issue May 15, 2024
soininen added a commit that referenced this issue May 15, 2024
All developer requirements (including for building documentation)
are now in dev-requirements.txt.

Also, cleaned up dependencies after Dagster removal.

Re #2522
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue May 16, 2024
Spine Engine doesn't use Dagster anymore, so we need not restrict
spinedb_api dependencies anymore.

Developer and documentation dependencies can now be installed
by a single dev-requirements.txt file.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-engine that referenced this issue May 16, 2024
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue May 16, 2024
Spine Engine doesn't use Dagster anymore, so we need not restrict
spinedb_api dependencies anymore.

Developer and documentation dependencies can now be installed
by a single dev-requirements.txt file.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit that referenced this issue May 16, 2024
All developer requirements (including for building documentation)
are now in dev-requirements.txt.

Also, cleaned up dependencies after Dagster removal.

Re #2522
soininen added a commit to spine-tools/spine-items that referenced this issue May 16, 2024
soininen added a commit that referenced this issue May 16, 2024
All developer requirements (including for building documentation)
are now in dev-requirements.txt.

Also, cleaned up dependencies after Dagster removal.

Re #2522
soininen added a commit to spine-tools/Spine-Database-API that referenced this issue May 16, 2024
Spine Engine doesn't use Dagster anymore, so we need not restrict
spinedb_api dependencies anymore.

Developer and documentation dependencies can now be installed
by a single dev-requirements.txt file.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-engine that referenced this issue May 16, 2024
Cleaned up dependencies since Dagster is now gone.

Moved doc and dev requirements to pyproject.toml

Also, removed some auto-generated files in docs/source/autoapi
that were accidentally committed to the repo.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit to spine-tools/spine-engine that referenced this issue May 16, 2024
Cleaned up dependencies since Dagster is now gone.

Moved doc and dev requirements to pyproject.toml

Also, removed some auto-generated files in docs/source/autoapi
that were accidentally committed to the repo.

Re spine-tools/Spine-Toolbox#2522
soininen added a commit that referenced this issue May 16, 2024
All developer requirements (including for building documentation)
are now in dev-requirements.txt.

Also, cleaned up dependencies after Dagster removal.

Re #2522
soininen added a commit to spine-tools/spine-items that referenced this issue May 16, 2024
@soininen
Copy link
Contributor Author

Python 3.12 and later is now allowed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants