-
Notifications
You must be signed in to change notification settings - Fork 415
Updates CONTRIBUTING.md and README.md to remove outdated information and add more info #3101
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
Conversation
✅ Deploy Preview for dlt-hub-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
anuunchin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧠
| 7. Create a pull request targeting the **devel** branch of the main repository. | ||
|
|
||
| **Note:** for some special cases, you'd need to contact us to create a branch in this repository (not fork). See below. | ||
| 6. If you’ve added, removed, or updated dependencies in `pyproject.toml`, make sure `uv.lock` is up to date by running `uv lock`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understood that if uv.lock changes even though there are no new dependencies it's still fine - maybe we should mention this somewhere 👀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uv.lock should only change if you update pyproject.toml. The lockfile guarantees that "the code works with these exact dependencies" and allows devs to work using the same deps.
Now, imagine you have in pyproject.toml duckdb >= 1.0.0; < 2.0.0. When you install or build dlt locally via pip install ., you will get the latest duckdb (let's say 1.4.0) which may be different from the uv.lock which has 1.3.2. You don't need to update the uv.lock because any version between 1 and 2 should be valid.
^to avoid this situation, you should uv sync instead of pip installing (this is what make dev does)
|
|
||
| We use **master** branch for hot fixes (including documentation) that needs to be released out of the normal schedule. | ||
| - **devel** (default GitHub branch): Used to prepare the next release of `dlt`. We accept all regular contributions here (including most bug fixes). | ||
| - **master**: Used for hotfixes (including documentation) that must be released outside of the normal schedule. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
omg, i somehow wasn't aware that we have an actual schedule 👀 - should we mention what the schedule is?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably not, since we kind of have a schedule but often don't manage to adhere to it :)
| ## Local Development | ||
| Use Python 3.9 for development, as it's the lowest supported version for `dlt`. You can select (and if needed download) the python version you need with `uv venv --python 3.11.6`, [uv python version docs](https://docs.astral.sh/uv/concepts/python-versions/#managed-and-system-python-installations). | ||
| Use Python 3.9 for development, as it is the lowest supported version. You can select (and download if necessary) the version with: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we replace 3.9 with 3.10 right away? As @zilto mentioned, understood that it won't be managed very soon and therefore we would stop supporting it as well 👀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think i would do this all in one go. Mid october 3.9. will be deprecated and 3.14 will be released and we should do a PR that handles both.
|
|
||
| We suggest that you allow only `patch` level updates automatically: | ||
| * Using the [Compatible Release Specifier](https://packaging.python.org/en/latest/specifications/version-specifiers/#compatible-release). For example **dlt~=1.0** allows only versions **>=1.0** and less than **<1.1** | ||
| * Poetry [caret requirements](https://python-poetry.org/docs/dependency-specification/). For example **^1.0** allows only versions **>=1.0** to **<1.0** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we still use poetry somewhere 👀 or should we remove this part
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section is about installing dlt in your project, so it does not apply to using uv in our repo, but to any tool the end-user uses to manage dependencies, it could be plain pip, uv or poetry for example.
Description
Updates CONTRIBUTING.md:
Updates README.md: