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

[CT-1067] [Spike] Impact/feasibility checks for pyproject.toml #5696

Open
iknox-fa opened this issue Aug 22, 2022 · 8 comments
Open

[CT-1067] [Spike] Impact/feasibility checks for pyproject.toml #5696

iknox-fa opened this issue Aug 22, 2022 · 8 comments
Labels
enhancement New feature or request release Release processes for dbt-core + adapter plugins stale Issues that have gone stale

Comments

@iknox-fa
Copy link
Contributor

iknox-fa commented Aug 22, 2022

Describe the spike

In order to switch to using pyproject.toml we need to spike a few impact/feasibility things:

  • Will this break things in dbt-cloud? I'm specifically concerned about our docker images since I know they're a bit fragile install wise.
  • Are all of the features we use in setup.py supported in pyproject.toml? Our setuptools setup isn't terribly complex, but there's some uncertainty here (esp in adapter repos re the version checking regex stuff :grimace:)
@iknox-fa iknox-fa added enhancement New feature or request triage labels Aug 22, 2022
@github-actions github-actions bot changed the title [Spike] [CT-1067] [Spike] Aug 22, 2022
@iknox-fa iknox-fa changed the title [CT-1067] [Spike] [Spike] Impac/feasibility checks for pyproject.toml Aug 22, 2022
@jtcohen6 jtcohen6 added the release Release processes for dbt-core + adapter plugins label Aug 22, 2022
@jtcohen6
Copy link
Contributor

esp in adapter repos re the version checking regex stuff :grimace:

I'm incredibly open to simplifying this logic, or moving it into bumpversion logic!

@leahwicz leahwicz changed the title [Spike] Impac/feasibility checks for pyproject.toml [CT-1067] [Spike] Impac/feasibility checks for pyproject.toml Aug 22, 2022
@iknox-fa iknox-fa changed the title [CT-1067] [Spike] Impac/feasibility checks for pyproject.toml [CT-1067] [Spike] Impact/feasibility checks for pyproject.toml Aug 23, 2022
@bbroeksema
Copy link
Contributor

There is this kind of pre-processing going:

this_directory = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(this_directory, "README.md")) as f:
    long_description = f.read()

I don't think this is possible with toml so this would require some "templating" and moving this to the Makefile stage.

@babaMar
Copy link

babaMar commented Sep 6, 2022

It seems such pre-processing is not needed as the readme field of the [project] table support relative file paths. See https://peps.python.org/pep-0621/#readme

@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2023

This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please comment on the issue or else it will be closed in 7 days.

@github-actions github-actions bot added the stale Issues that have gone stale label Mar 6, 2023
@emmyoop emmyoop removed the stale Issues that have gone stale label Mar 6, 2023
@DustinMoriarty
Copy link

I would be happy to help with migrating to poetry if there is interest. Migrating to poetry is pretty easy because it is so structured. Poetry seems to be the winner among all the build tools lately. It is a back compatible change because the build output still meets the PEP standards.

@DustinMoriarty
Copy link

DustinMoriarty commented Jun 30, 2023

There is this kind of pre-processing going:

this_directory = os.path.abspath(os.path.dirname(__file__))

with open(os.path.join(this_directory, "README.md")) as f:

    long_description = f.read()

I don't think this is possible with toml so this would require some "templating" and moving this to the Makefile stage.

That use case isn't needed if you use poetry. You just specify the README.md. All that manual stuff we used to do ad-hoc in setup.py is structured and standardized.

Bumpversion is not needed either if we use poetry. That functionality is part of the cli. For single sourcing the 'version' in the 'init.py' importlib.metadata can be used.

@jtcohen6
Copy link
Contributor

jtcohen6 commented Jun 30, 2023

@DustinMoriarty If you'd be interested in putting together a draft PR of what this could look like — so long as it wouldn't take too much time on your end (knowing this is a spike to prove out feasibility, not a guarantee we'd move forward with it) — I'd definitely be interested in seeing it

Copy link
Contributor

This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please comment on the issue or else it will be closed in 7 days.

@github-actions github-actions bot added the stale Issues that have gone stale label Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request release Release processes for dbt-core + adapter plugins stale Issues that have gone stale
Projects
None yet
6 participants