Skip to content

Commit 3a0b0c4

Browse files
committed
overhaul packaging and project layout, bring in line with templates,
first pass for fsspec
1 parent 6f5d03f commit 3a0b0c4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+10491
-11137
lines changed

.bumpversion.cfg

-16
This file was deleted.

.copier-answers.yml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Changes here will be overwritten by Copier
2+
_commit: '9689455'
3+
_src_path: https://github.com/python-project-templates/base.git
4+
add_extension: jupyter
5+
6+
github: jpmorganchase
7+
project_description: A Filesystem-like mult-contents manager backend for Jupyter
8+
project_name: jupyter-fs
9+
python_version_primary: '3.9'
10+
team: the jupyter-fs authors

.gitattributes

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
examples/* linguist-documentation
22
docs/* linguist-documentation
33
*.ipynb linguist-documentation
4+
Makefile linguist-documentation
45

5-
* text=auto eol=lf
6+
*.css text=auto eol=lf
7+
*.html text=auto eol=lf
8+
*.js text=auto eol=lf
9+
*.json text=auto eol=lf
10+
*.less text=auto eol=lf
11+
*.md text=auto eol=lf
12+
*.py text=auto eol=lf
13+
*.toml text=auto eol=lf
14+
*.ts text=auto eol=lf
15+
*.yml text=auto eol=lf

.github/CODE_OF_CONDUCT.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
5555
## Enforcement
5656

5757
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58-
reported by contacting the project team at open_source@jpmorgan.com. All
58+
reported by contacting the project team at t.paine154@gmail.com. All
5959
complaints will be reviewed and investigated and will result in a response that
6060
is deemed necessary and appropriate to the circumstances. The project team is
6161
obligated to maintain confidentiality with regard to the reporter of an incident.

CONTRIBUTING.md .github/CONTRIBUTING.md

+4-19
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,12 @@ If you have any questions about the contribution process, please feel free to se
1010

1111
### Install
1212

13-
Note: You will need NodeJS to build the extension package.
13+
Note: You will need NodeJS and `pnpm` to build the extension package.
1414

1515
```bash
1616
pip install -e .[dev]
1717
```
1818

19-
The `jlpm` command is JupyterLab's pinned version of
20-
[yarn](https://yarnpkg.com/) that is installed with JupyterLab. You may use
21-
`yarn` or `npm` in lieu of `jlpm` below.
22-
23-
```bash
24-
# Clone the repo to your local environment
25-
# Change directory to the jupyter-fs directory
26-
# Install package in development mode
27-
jlpm
28-
cd js
29-
jlpm build
30-
cd ..
31-
jlpm develop
32-
```
33-
3419
### Configure
3520

3621
You'll need to set the contents manager class in the jupyter server config. Paste the following json into your config:
@@ -57,14 +42,14 @@ After you make a change to the Typescript sources, you can rebuild jupyter-fs on
5742

5843
```bash
5944
# Rebuild extension Typescript source after making changes
60-
(cd js; jlpm run build)
45+
(cd js; pnpm run build)
6146
```
6247

6348
You can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.
6449

6550
```bash
6651
# Watch the source directory in one terminal, automatically rebuilding when needed
67-
(cd js; jlpm run watch)
52+
(cd js; pnpm run watch)
6853
# Run JupyterLab in another terminal
6954
jupyter lab
7055
```
@@ -73,7 +58,7 @@ With the watch command running, every saved change will immediately be built loc
7358

7459
### Sourcemaps
7560

76-
By default, the `jlpm run build` command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:
61+
By default, the `pnpm run build` command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:
7762

7863
```bash
7964
jupyter lab build --minimize=False

.github/dependabot.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ updates:
1616
- "part: dependencies"
1717

1818
- package-ecosystem: "npm"
19-
directory: "/"
19+
directory: "/js"
2020
schedule:
2121
interval: "monthly"
2222
labels:

.github/workflows/build.yml

+33-32
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ on:
77
tags:
88
- v*
99
paths-ignore:
10-
- docs/
11-
- AUTHORS
12-
- CONTRIBUTING.md
1310
- LICENSE
1411
- README.md
1512
pull_request:
13+
branches:
14+
- main
1615
workflow_dispatch:
1716

1817
concurrency:
1918
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
2019
cancel-in-progress: true
2120

2221
permissions:
22+
contents: read
2323
checks: write
2424
pull-requests: write
2525

@@ -29,9 +29,9 @@ jobs:
2929

3030
strategy:
3131
matrix:
32-
os: [ubuntu-latest]
33-
python-version: [3.9]
34-
node-version: [18.x]
32+
os: [ubuntu-latest, macos-latest, windows-latest]
33+
python-version: ["3.9"]
34+
node-version: [20.x]
3535

3636
steps:
3737
- uses: actions/checkout@v4
@@ -47,12 +47,13 @@ jobs:
4747
uses: actions/setup-node@v4
4848
with:
4949
node-version: ${{ matrix.node-version }}
50-
cache: 'yarn'
51-
cache-dependency-path: js/yarn.lock
52-
53-
- name: Install yarn
54-
run: npm install -g yarn
55-
50+
51+
- name: Install pnpm
52+
uses: pnpm/action-setup@v4
53+
with:
54+
version: 9
55+
package_json_file: js/package.json
56+
5657
- name: Install dependencies
5758
run: make develop
5859

@@ -61,7 +62,7 @@ jobs:
6162
if: ${{ matrix.os == 'ubuntu-latest' }}
6263

6364
- name: Setup Mac testing infra
64-
run: make setup-infra-mac
65+
run: sudo make setup-infra-mac
6566
if: ${{ matrix.os == 'macos-latest' }}
6667

6768
- name: Setup Windows testing infra
@@ -73,14 +74,18 @@ jobs:
7374

7475
- name: Lint
7576
run: make lint
77+
if: matrix.os == 'ubuntu-latest'
7678

7779
- name: Checks
7880
run: make checks
79-
if: ${{ matrix.os == 'ubuntu-latest' }}
81+
if: matrix.os == 'ubuntu-latest'
82+
83+
- name: Build
84+
run: make build
8085

8186
- name: Test
82-
run: make tests
83-
if: ${{ matrix.os == 'ubuntu-latest' }}
87+
run: make coverage
88+
if: matrix.os == 'ubuntu-latest'
8489

8590
- name: Teardown Linux testing infra
8691
run: make teardown-infra-ubuntu DOCKER_COMPOSE="docker compose"
@@ -100,26 +105,22 @@ jobs:
100105
- name: Upload test results (Python)
101106
uses: actions/upload-artifact@v4
102107
with:
103-
name: pytest-results-${{ matrix.os }}-${{ matrix.python-version }}
104-
path: junit.xml
105-
if: ${{ always() }}
106-
107-
- name: Upload test results (JS)
108-
uses: actions/upload-artifact@v4
109-
with:
110-
name: jstest-results-${{ matrix.os }}-${{ matrix.python-version }}
111-
path: js/junit.xml
108+
name: test-results-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.node-version }}
109+
path: '**/junit.xml'
112110
if: ${{ always() }}
113111

114112
- name: Publish Unit Test Results
115113
uses: EnricoMi/publish-unit-test-result-action@v2
116114
with:
117-
files: |
118-
**/junit.xml
119-
if: ${{ matrix.os == 'ubuntu-latest' }}
120-
121-
- name: Upload coverage
122-
uses: codecov/codecov-action@v5
115+
files: '**/junit.xml'
116+
if: matrix.os == 'ubuntu-latest'
123117

124-
- name: Twine check
118+
- name: Make dist
125119
run: make dist
120+
if: matrix.os == 'ubuntu-latest'
121+
122+
- uses: actions/upload-artifact@v4
123+
with:
124+
name: dist-${{matrix.os}}
125+
path: dist
126+
if: matrix.os == 'ubuntu-latest'

0 commit comments

Comments
 (0)