Skip to content

Commit

Permalink
Use hatch backend
Browse files Browse the repository at this point in the history
add flake8 config

add artifacts

cleanup

use tbump to get current version

cleanup for new dep versions

clean up workflows

switch back to bumpversion

fix verion

fixup

fixup

fixup

fixup
  • Loading branch information
blink1073 committed May 18, 2022
1 parent 6c6bd4b commit d33ade5
Show file tree
Hide file tree
Showing 12 changed files with 116 additions and 207 deletions.
19 changes: 11 additions & 8 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
[bumpversion]
current_version = 7, 0, 0, "alpha", 3
current_version = 7, 0, 0, "a", 3
commit = False
tag = False
parse = (?P<major>\d+)\,\ (?P<minor>\d+)\,\ (?P<patch>\d+)\,\ \"(?P<release>\S+)\"\,\ (?P<build>\d+)
serialize =
{major}, {minor}, {patch}, "{release}", {build}
serialize =
{major}, {minor}, {patch}, "{release}", {build}

[bumpversion:part:release]
optional_value = final
values =
alpha
beta
candidate
final
values =
a
b
rc
final

[bumpversion:part:build]

[bumpversion:file:notebook/_version.py]

[bumpversion:file:pyproject.toml]
serialize = {major}.{minor}.{patch}{release}{build}
12 changes: 12 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[flake8]
ignore = E501, W503, E402
builtins = c, get_config
exclude =
.cache,
.github,
docs,
enable-extensions = G
extend-ignore =
G001, G002, G004, G200, G201, G202,
# black adds spaces around ':'
E203,
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:

- name: Install the package
run: |
python -m pip install ".[test]"
python -m pip install ".[dev,test]"
jlpm run build:test
- name: Unit tests
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/buildutils.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:

- name: Install dependencies
run: |
python -m pip install -U "jupyterlab>=4.0.0a24,<5" jupyter_packaging~=0.10
python -m pip install -U "jupyterlab>=4.0.0a24,<5"
jlpm
jlpm run build
Expand Down Expand Up @@ -80,6 +80,6 @@ jobs:

- name: Install dependencies
run: |
python -m pip install -U "jupyterlab>=4.0.0a24,<5" jupyter_packaging~=0.10 pip
python -m pip install -U "jupyterlab>=4.0.0a24,<5" pip
jlpm
jlpm run build
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
python_version: '3.7'
- name: Install the Python dependencies
run: |
pip install -e .[test] codecov
pip install -e .[dev,test] codecov
pip install -r docs/doc-requirements.txt
wget https://github.com/jgm/pandoc/releases/download/1.19.1/pandoc-1.19.1-1-amd64.deb && sudo dpkg -i pandoc-1.19.1-1-amd64.deb
- name: List installed packages
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ mamba create -n notebook -c conda-forge python nodejs -y
mamba activate notebook

# Install package in development mode
pip install -e .
pip install -e ".[dev,test]"

# Link the notebook extension and @jupyter-notebook schemas
jlpm develop
Expand Down Expand Up @@ -107,7 +107,7 @@ speeding up the review process.
As long as your code is valid,
the pre-commit hook should take care of how it should look.
`pre-commit` and its associated hooks will automatically be installed when
you run `pip install -e ".[test]"`
you run `pip install -e ".[dev,test]"`

To install `pre-commit` manually, run the following:

Expand Down
28 changes: 0 additions & 28 deletions MANIFEST.in

This file was deleted.

2 changes: 1 addition & 1 deletion buildutils/src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { run } from '@jupyterlab/buildutils';
* Get the current version of notebook
*/
export function getPythonVersion(): string {
const cmd = 'python setup.py --version';
const cmd = 'tbump current-version';
const lines = run(cmd, { stdio: 'pipe' }, true).split('\n');
return lines[lines.length - 1];
}
Expand Down
6 changes: 2 additions & 4 deletions notebook/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@
VersionInfo = namedtuple("VersionInfo", ["major", "minor", "micro", "releaselevel", "serial"])

# DO NOT EDIT THIS DIRECTLY! It is managed by bumpversion
version_info = VersionInfo(7, 0, 0, "alpha", 3)

_specifier_ = {"alpha": "a", "beta": "b", "candidate": "rc", "final": ""}
version_info = VersionInfo(7, 0, 0, "a", 3)

__version__ = "{}.{}.{}{}".format(
version_info.major,
Expand All @@ -17,6 +15,6 @@
(
""
if version_info.releaselevel == "final"
else _specifier_[version_info.releaselevel] + str(version_info.serial)
else str(version_info.releaselevel) + str(version_info.serial)
),
)
101 changes: 84 additions & 17 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,32 +1,99 @@
[build-system]
requires = ["jupyter_packaging~=0.10", "jupyterlab>=4.0.0a24,<5", "pre-commit"]
build-backend = "jupyter_packaging.build_api"
requires = ["hatchling>=1.0", "jupyterlab>=4.0.0a24,<5"]
build-backend = "hatchling.build"

[license]
file="LICENSE"
[project]
name = "notebook"
version = "7.0.0a3"
description = "Jupyter Notebook - A web-based notebook environment for interactive computing"
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.7"
authors = [
{ name = "Jupyter Development Team", email = "[email protected]" },
]
keywords = [
"Jupyter",
"JupyterLab",
"Notebook",
]
classifiers = [
"Framework :: Jupyter",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
]
dependencies = [
"jupyter_server>=1.16.0,<2",
"jupyterlab>=4.0.0a24,<5",
"jupyterlab_server>=2.13,<3",
"notebook_shim>=0.1,<0.2",
"tornado>=6.1.0",
]

[tool.jupyter-packaging.options]
skip-if-exists = ["notebook/labextension/static/style.js", "notebook/static/bundle.js"]
ensured-targets = ["notebook/labextension/static/style.js", "notebook/static/bundle.js"]
[project.scripts]
jupyter-notebook = "notebook.app:main"

[tool.jupyter-packaging.builder]
factory = "jupyter_packaging.npm_builder"
[project.urls]
Documentation = "https://jupyter-notebook.readthedocs.io/"
Homepage = "https://github.com/jupyter/notebook"
Source = "https://github.com/jupyter/notebook"
Tracker = "https://github.com/jupyter/notebook/issues"

[tool.jupyter-packaging.build-args]
build_cmd = "build:prod"
npm = ["jlpm"]
[project.optional-dependencies]
test = [
"coverage",
"nbval",
"pytest>=6.0",
"pytest-cov",
"requests",
"pytest-tornasync",
"pytest-timeout",
"pytest-console-scripts",
"ipykernel",
"jupyterlab_server[test]>=2.13,<3",
]
dev = [
"pre-commit",
"bump2version"
]

[tool.check-manifest]
ignore = ["app/**", "binder/**", "buildutils/**", "docs/**", "packages/**", "codecov.yml", "*.json", "yarn.lock", "readthedocs.yml", ".bumpversion.cfg", ".*", "lint-staged.config.js", "*.svg", "notebook/labextension/**", "notebook/schemas/**", "notebook/static/**", "notebook/template/**", "ui-tests/**"]
[tool.hatch.build.targets.wheel.shared-data]
"notebook/labextension" = "share/jupyter/labextensions/@jupyter-notebook/lab-extension"
"notebook/schemas" = "share/jupyter/lab/schemas/@jupyter-notebook/schemas"
"install.json" = "share/jupyter/labextensions/@jupyter-notebook/lab-extension/install.json"
"jupyter-config/jupyter_server_config.d" = "etc/jupyter/jupyter_server_config.d"


[tool.hatch.build]
artifacts = ["notebook/labextension", "notebook/static"]

[tool.hatch.build.hooks.jupyter-builder]
dependencies = ["hatch-jupyter-builder>=0.2"]
build-function = "hatch_jupyter_builder.npm_builder"
ensured-targets = [
"notebook/labextension/static/style.js",
"notebook/static/bundle.js"
]
install-pre-commit-hook = true

[tool.hatch.build.hooks.jupyter-builder.build-kwargs]
build_cmd = "build:prod"
editable_build_cmd = "build"
npm = "jlpm"

[tool.pytest.ini_options]
addopts = "-raXs --durations 10 --color=yes --doctest-modules"
testpaths = [
"tests/"
"tests/",
]
timeout = 300
# Restore this setting to debug failures
# timeout_method = "thread"
filterwarnings = [
"error",
"ignore:There is no current event loop:DeprecationWarning",
Expand Down
77 changes: 0 additions & 77 deletions setup.cfg

This file was deleted.

Loading

0 comments on commit d33ade5

Please sign in to comment.