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

Document first-time developer setup, add conda option #2083

Conversation

zmbc
Copy link
Contributor

@zmbc zmbc commented Mar 19, 2024

Type of PR

  • BUG
  • FEAT
  • MAINT
  • DOC

Is your Pull Request linked to an existing Issue or Pull Request?

#2019

Give a brief description for the solution you have provided

More or less followed the outline I gave in #2019 (reply in thread), except I reordered some things.

PR Checklist

  • Added documentation for changes
  • Added feature to example notebooks or tutorial (if appropriate)
  • Added tests (if appropriate)
  • Updated CHANGELOG.md (if appropriate)
  • Made changes based off the latest version of Splink
  • Run the linter

CONTRIBUTING.md Show resolved Hide resolved
Copy link
Member

@RobinL RobinL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks very much this is great. A few minor comments.

I going to ask Tom to look at this too, just to get a second pair of eyes on a couple parts of this, but overall, very happy with how it's looking. A big improvement!

docs/dev_guides/changing_splink/testing.md Outdated Show resolved Hide resolved

When making changes to Splink, there are a number of common operations that developers need to perform. The guides below lay out some of these common operations, and provides scripts to automate these processes. These include:

* [Building a Virtual Environment](./changing_splink/building_env_locally.md) - to replicate the conditions when Splink is installed by users.
* [Linting and Formatting](./changing_splink/lint_and_format.md) - to ensure consistent code style and to reformat code, where possible.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the first bullet in this list point to the new quickstart page?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see a ton of utility in this list. "Linting and Formatting" and "Testing" are already linked in the contributor's guide section about contributing code (the only type of contribution to which they are relevant). Likewise with building the docs locally.

Releasing a new package version is nice to have documented, but calling it out for new contributors seems unnecessary -- they almost certainly wouldn't have the permissions to do this.

And contributing to the blog seems like perhaps it should just be its own section in the contributor's guide.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah agreed, in fact the whole page feels unnecessarily repetitious and could probably be dropped entirely.

We probably need to review it separately. Just want to make sure the quickstart is as obvious as possible - feel free to do whatever you think's best!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good and happy to help with that. I think in this PR I won't put the quickstart in the list since it is not a "common operation that developers need to perform."

scripts/conda/development_setup_with_conda.sh Show resolved Hide resolved
scripts/conda/development_setup_with_conda.sh Outdated Show resolved Hide resolved
scripts/conda/development_setup_with_conda.sh Show resolved Hide resolved
@RobinL
Copy link
Member

RobinL commented Mar 20, 2024

@ThomasHepworth would you mind having a quick look at this? I've gone through in detail, but I think it'd be good to get a second pair of eyes specifically on docs/dev_guides/changing_splink/development_quickstart.md

I have:

  • Built the docs locally and they look fine to me
  • Worked through the conda instructions, got the conda environment working and tests running within it

So I think it's just a sense check that's needed

@ThomasHepworth
Copy link
Contributor

Thank you for doing all of this!

It's really useful for us to get input and feedback from people coming to Splink from outside our bubble. I'll check it over now and leave a few comments.

Copy link
Contributor

@ThomasHepworth ThomasHepworth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again Zeb! This is a great step forward in this department.

See a few minor comments and discussion points below. I've also had a word with Robin espousing the use of conda and I believe he's going to comment on that side of things.

docs/dev_guides/changing_splink/managing_dependencies.md Outdated Show resolved Hide resolved
scripts/create_venv.sh Outdated Show resolved Hide resolved
scripts/conda/development_environment.yaml Outdated Show resolved Hide resolved
docs/dev_guides/changing_splink/testing.md Outdated Show resolved Hide resolved
@RobinL
Copy link
Member

RobinL commented Mar 20, 2024

Tom and I had a chat about this earlier. We both agree it's a great improvement.

There's one aspect both of us picked up on: Whilst the quickstart page contains options for both conda and non-conda, the way its layed out implicitly suggests that conda is the recommended option. This didn't feel quite right because none of the core dev team use conda.

You'll see I've done a draft PR to move things around a little and include a (hopefully not too controversial) line on whether re recommend conda or not.

zmbc and others added 10 commits March 20, 2024 10:12
Co-authored-by: Robin Linacre <robin.linacre@digital.justice.gov.uk>
Co-authored-by: Robin Linacre <robin.linacre@digital.justice.gov.uk>
Co-authored by: Tom Hepworth <45356472+ThomasHepworth@users.noreply.github.com>
Co-authored by: Robin Linacre <robin.linacre@digital.justice.gov.uk>
@zmbc
Copy link
Contributor Author

zmbc commented Mar 21, 2024

Thank you both for your reviews! I believe I've addressed all the comments now. See my comments on the de-emphasize conda PR -- if they look good to you, I can merge those changes into this branch.

RobinL and others added 2 commits March 25, 2024 08:46
Co-authored-by: Zeb Burke-Conte <zmbc@users.noreply.github.com>
Co-authored-by: Zeb Burke-Conte <zmbc@users.noreply.github.com>
@RobinL
Copy link
Member

RobinL commented Mar 25, 2024

Thanks @zmbc! I've responded to your comments on the de-emphasize conda PR Happy for you to merge it in and after that we should be good to go.

Thanks again!

@zmbc
Copy link
Contributor Author

zmbc commented Mar 25, 2024

@ThomasHepworth I think this is just waiting for follow-up on your two unresolved comments above. Once we get those ironed out, it should be good to go!

mkdocs.yml Outdated Show resolved Hide resolved
@ThomasHepworth
Copy link
Contributor

@zmbc after you've tweaked the mkdocs.yml file, I'm happy to approve this from my end.

Thanks again for your work on this!

@zmbc
Copy link
Contributor Author

zmbc commented Mar 25, 2024

Addressed the comments, and I believe my changes should now fix the CI failures, except that the mkdocs CI seems to not like that this PR is from a fork.

@RobinL RobinL merged commit 2e7eda3 into moj-analytical-services:master Mar 26, 2024
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants