diff --git a/pr-preview/pr-9/README.pdf b/pr-preview/pr-9/README.pdf deleted file mode 100644 index cc0d36f..0000000 Binary files a/pr-preview/pr-9/README.pdf and /dev/null differ diff --git a/pr-preview/pr-9/README.pptx b/pr-preview/pr-9/README.pptx deleted file mode 100644 index 2e75228..0000000 Binary files a/pr-preview/pr-9/README.pptx and /dev/null differ diff --git a/pr-preview/pr-9/img/checks.png b/pr-preview/pr-9/img/checks.png deleted file mode 100644 index 4ed361b..0000000 Binary files a/pr-preview/pr-9/img/checks.png and /dev/null differ diff --git a/pr-preview/pr-9/img/docs.png b/pr-preview/pr-9/img/docs.png deleted file mode 100644 index d1f6df6..0000000 Binary files a/pr-preview/pr-9/img/docs.png and /dev/null differ diff --git a/pr-preview/pr-9/img/new-proj.png b/pr-preview/pr-9/img/new-proj.png deleted file mode 100644 index 648dbd9..0000000 Binary files a/pr-preview/pr-9/img/new-proj.png and /dev/null differ diff --git a/pr-preview/pr-9/img/qr-pres.svg b/pr-preview/pr-9/img/qr-pres.svg deleted file mode 100644 index 1d5651c..0000000 --- a/pr-preview/pr-9/img/qr-pres.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - QR Code - https://scverse.org/cookiecutter-scverse-presentation/ - - - - \ No newline at end of file diff --git a/pr-preview/pr-9/img/rtd-pr-warning.png b/pr-preview/pr-9/img/rtd-pr-warning.png deleted file mode 100644 index bb4e6a1..0000000 Binary files a/pr-preview/pr-9/img/rtd-pr-warning.png and /dev/null differ diff --git a/pr-preview/pr-9/img/scverse-ecosystem-overview.png b/pr-preview/pr-9/img/scverse-ecosystem-overview.png deleted file mode 100644 index 033bfd1..0000000 Binary files a/pr-preview/pr-9/img/scverse-ecosystem-overview.png and /dev/null differ diff --git a/pr-preview/pr-9/img/scverse-ecosystem-pr.png b/pr-preview/pr-9/img/scverse-ecosystem-pr.png deleted file mode 100644 index 49085c8..0000000 Binary files a/pr-preview/pr-9/img/scverse-ecosystem-pr.png and /dev/null differ diff --git a/pr-preview/pr-9/img/scverse-logo.svg b/pr-preview/pr-9/img/scverse-logo.svg deleted file mode 100644 index c40c5d6..0000000 --- a/pr-preview/pr-9/img/scverse-logo.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-9/img/test-explorer.png b/pr-preview/pr-9/img/test-explorer.png deleted file mode 100644 index 06d4fcd..0000000 Binary files a/pr-preview/pr-9/img/test-explorer.png and /dev/null differ diff --git a/pr-preview/pr-9/index.html b/pr-preview/pr-9/index.html deleted file mode 100644 index 8fdd45f..0000000 --- a/pr-preview/pr-9/index.html +++ /dev/null @@ -1,853 +0,0 @@ -
-

scverse cookiecutter template

-

Follow along: scverse.org/
-cookiecutter-scverse-presentation

-
-
-

having impact with software

-
    -
  • Publish papers and get citations for academic success
  • -
  • High quality software helps a lot with both
  • -
  • Be part of the scverse ecosystem: ensure you meet minimum requirements for maximal impact - -
  • -
  • Workshop goal: path to high quality software dev
  • -
-
-
-

scverse ecosystem

-
    -
  • Set of packages built around the scverse core packages
  • -
  • Featured on the scverse ecosystem website
  • -
-
-
-

scverse ecosystem requirements

-
    -
  • Metadata: name, description, OSI-approved license, ...
  • -
  • Versioned releases installable from PyPI &/or Conda
  • -
  • Tests automated via continuous integration (CI)
  • -
  • Docs for API and use-cases
  • -
  • Scverse datastructures used where appropriate
  • -
-
-
-

how to get into the scverse ecosystem

-

Instructions to add your package are on the scverse ecosystem repository

- -
-
-

scverse cookiecutter template

-
    -
  • Project template for scverse packages¹
  • -
  • Best practice structure
  • -
  • Many features such as continuous integration, documentation setup, …
  • -
  • Automatically ticks all scverse ecosystem requirements
  • -
-

¹Much is applicable elsewhere

-
-
-

steps

-
    -
  1. Set up global environment to create project
  2. -
  3. Create project using scverse cookiecutter template
  4. -
  5. Set up project specific development environment
  6. -
  7. Develop your package
  8. -
  9. Submit to scverse ecosystem
  10. -
-
-
-

step 1: global environment

-
    -
  • -

    Install using a package manager or installer:

    - -
  • -
  • -

    Install using a package manager, pipx, or uv:

    -
      -
    • -

      cruft & pre-commit

      -
      $ pipx install cruft pre-commit  # or
      -$ uv tool install cruft pre-commit
      -
      -
    • -
    -
  • -
-
-
-

step 2: creating the project

-
$ cruft create https://github.com/scverse/cookiecutter-scverse
-  project_name (project-name): myproj
-  […]
-$ code myproj
-
- -
-
-

step 3: environment management

-

Hatch envs basic usage:

-
$ hatch run [env:]command [...args] # e.g. `… docs:build -T`
-$ hatch test [...args]
-$ hatch env remove <name> # or `hatch env prune` for all
-$ hatch env find hatch-test
-~/.local/share/hatch/env/virtual/myproj/FsejNibV/hatch-test.py3.12
-[…]
-
-

Make sure it exists, then tell VS Code:

-

|^++PPython: Select Interpreter

-
-
-

running tests

-
$ hatch test --help
-[…]
-Options:
-  -r, --randomize
-  -p, --parallel
-  -c, --cover
-  -a, --all
-  -py, --python=X.Y
-  -i, --include=VAR=VAL
-  -x, --exclude=VAR=VAL
-  -s, --show
-…otherwise same as `pytest`
-
-
-
-

building docs

-
$ hatch run docs:build
-$ hatch run docs:open
-$ hatch run docs:clean
-
-

See pyproject.toml:

-
[tools.hatch.envs.docs]
-scripts.build = "..."
-...
-
-
-
-

formatting and linting

-

VS Code:

-
{
-  "[python]": {
-    "editor.formatOnSave": true,
-    "editor.defaultFormatter": "charliermarsh.ruff",
-    "editor.codeActionsOnSave": { ... },
-  }, ...
-}
-
-

CLI: pre-commit (or hatch run pre-commit)

-
$ pre-commit install # `git commit` hook
-$ pre-commit run --all-files
-
-
-
-

existing project

- -
    -
  • -

    Simple project

    -
      -
    1. Instantiate template
    2. -
    3. Replace src/* directory with your package
    4. -
    5. Edit [project] table in pyproject.toml
    6. -
    -
  • -
  • -

    Complex project

    -
      -
    1. Step by step PRs: formatter, …
    2. -
    3. We can help!
    4. -
    -
  • -
-
-
-

follow along

-
-
-

step 4: committing code

- -
    -
  • Use PRs, don’t push to main
  • -
  • Set up pre-commit.ci, codecov.io on
    -github.com/<you>/<yourpackage>/settings/installations
  • -
-

-
-
-

ReadTheDocs

- - -
-
-

step 5: submit to scverse ecosystem

-
    -
  1. Follow the instructions
  2. -
  3. Submit a pull request
  4. -
  5. Maybe get reviewed by PyOpenSci
  6. -
-
-
-

Thank You!

-
-

Header link: important!

Follow along if you’re quick, later interactive

QR URL: https://api.qrserver.com/v1/create-qr-code/?format=svg&data=https://scverse.org/cookiecutter-scverse-presentation/

Installing pre-commit globally is preferred

simple: pure-python, one package

No need to do this live, time should be mostly up here

\ No newline at end of file