Skip to content

Commit

Permalink
cleanup and make ready for showcasing
Browse files Browse the repository at this point in the history
  • Loading branch information
j9ac9k committed Jan 6, 2025
1 parent e440f12 commit a983294
Show file tree
Hide file tree
Showing 15 changed files with 8,695 additions and 153 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Upload Python Package

on:
release:
types: [published]

jobs:
pypi-publish:
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- name: set up python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: install dependencies
run: |
python -m pip install -U build
- name: build wheel
run: |
python -m build --wheel
rm dist/index.js* || true
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
- name: publish package distributions to pypi
uses: pypa/gh-action-pypi-publish@release/v1
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,19 @@ $RECYCLE.BIN/
**/node_modules/
jupyter_eptium_viewer/nbextension/index.*


# YARN
.yarn

# Coverage data
# -------------
**/coverage/

# Packed lab extensions
jupyter_eptium_viewer/labextension

# Geospatial files
*.las
*.copc
*.tif
*.laz
2 changes: 0 additions & 2 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,3 @@ compressionLevel: mixed
enableGlobalCache: false

nodeLinker: node-modules

yarnPath: .yarn/releases/yarn-4.5.3.cjs
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changelog

## v0.1.0

Initial Release

* Currently only works on jupyter notebook and not google colab
* Adds `Eptium.render()` argument that takes a URL or file-path to data to render in eptium.
27 changes: 22 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,36 @@ You can install using `pip`:
pip install eptium
```

If you are using Jupyter Notebook 5.2 or earlier, you may also need to enable
the nbextension:
## Usage

```bash
jupyter nbextension enable --py [--sys-prefix|--user|--system] eptium
The following is an example on how to render data within the jupyter notebook environment

```python
import eptium

w = eptium.Eptium()
w.render("https://s3.amazonaws.com/hobu-lidar/autzen-classified.copc.laz")
w
```

The example above shows a remote URL to a COPC file. Inside jupyter, this extension can also render local files relative to the notebook.

```python
import eptium

w.eptium.Eptium()
w.render("./path/to/file.copc.laz")
w
```

Note: the local file functionality is not present in google colab.

## Development Installation

Create a dev environment:

```bash
conda create -n eptium-dev -c conda-forge nodejs python jupyterlab=4.0.11
conda create -n eptium-dev -c conda-forge nodejs python jupyterlab
conda activate eptium-dev
```

Expand Down
78 changes: 78 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Making a new release of eptium

The extension can be published to `PyPI` and `npm` manually or using the [Jupyter Releaser](https://github.com/jupyter-server/jupyter_releaser).

## Manual release

### Python package

This extension can be distributed as Python packages. All of the Python
packaging instructions are in the `pyproject.toml` file to wrap your extension in a
Python package. Before generating a package, you first need to install some tools:

```bash
pip install build twine hatch
```

Bump the version using `hatch`. By default this will create a tag.
See the docs on [hatch-nodejs-version](https://github.com/agoose77/hatch-nodejs-version#semver) for details.

```bash
hatch version <new-version>
```

Make sure to clean up all the development files before building the package:

```bash
jlpm clean:all
```

You could also clean up the local git repository:

```bash
git clean -dfX
```

To create a Python source package (`.tar.gz`) and the binary package (`.whl`) in the `dist/` directory, do:

```bash
python -m build
```

Then to upload the package to PyPI, do:

```bash
twine upload dist/*
```

### NPM package

To publish the frontend part of the extension as a NPM package, do:

```bash
npm login
npm publish --access public
```

## Automated releases with the Jupyter Releaser

The extension repository should already be compatible with the Jupyter Releaser. But
the GitHub repository and the package managers need to be properly set up. Please
follow the instructions of the Jupyter Releaser [checklist](https://jupyter-releaser.readthedocs.io/en/latest/how_to_guides/convert_repo_from_repo.html).

Here is a summary of the steps to cut a new release:

- Go to the Actions panel
- Run the "Step 1: Prep Release" workflow
- Check the draft changelog
- Run the "Step 2: Publish Release" workflow

> [!NOTE]
> Check out the [workflow documentation](https://jupyter-releaser.readthedocs.io/en/latest/get_started/making_release_from_repo.html)
> for more information.
## Publishing to `conda-forge`

If the package is not on conda forge yet, check the documentation to learn how to add it: https://conda-forge.org/docs/maintainer/adding_pkgs.html

Otherwise a bot should pick up the new version publish to PyPI, and open a new PR on the feedstock repository automatically.
3 changes: 1 addition & 2 deletions eptium/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@
# Copyright (c) Ognyan Moore.
# Distributed under the terms of the Modified BSD License.

version_info = (0, 1, 0, 'dev')
__version__ = ".".join(map(str, version_info))
__version__ = "0.1.0"
105 changes: 0 additions & 105 deletions eptium/labextension/package.json

This file was deleted.

1 change: 0 additions & 1 deletion eptium/labextension/static/122.b1bca534d9ea67fec489.js

This file was deleted.

Loading

0 comments on commit a983294

Please sign in to comment.