jupyterlab-minio


Namejupyterlab-minio JSON
Version 1.1.1 PyPI version JSON
download
home_pagehttps://github.com/aristide/jupyterlab-minio
SummaryJupyterLab extension for browsing Minio object storage
upload_time2024-11-10 18:27:25
maintainerNone
docs_urlNone
authorAristide Mendo'o
requires_python>=3.6
licenseBSD-3-Clause
keywords jupyter jupyterlab jupyterlab3 minio s3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # jupyterlab-minio

[![Github Actions Status](https://github.com/aristide/jupyterlab-minio/workflows/Build/badge.svg)](https://github.com/aristide/jupyterlab-minio/actions/workflows/build.yml)
[![PyPI version](https://badge.fury.io/py/jupyterlab-minio.svg)](https://badge.fury.io/py/jupyterlab-minio)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jupyterlab-minio/jupyterlab-minio/master?urlpath=lab)

JupyterLab extension for browsing Minio object storage.

This extension is composed of a Python package named `jupyterlab-minio`.

![Jupyter Minio](https://raw.githubusercontent.com/aristide/jupyterlab-minio/master/minio-browser-screenshot.gif)

## Installation

This extension works on JupyterLab 3 only.

To install:

```bash
pip install jupyterlab-minio
```

You may also need to run:

```bash
jupyter server extension enable jupyterlab-minio
```

to make sure the server extension is enabled. Then, restart (stop and start) JupyterLab.

## Usage

### Configuration

If you have a `~/.mc/config.json` file, no further configuration is necessary.

To configure using environment variables, set:

```bash
export MINIO_ENDPOINT="https://s3.us.cloud-object-storage.appdomain.cloud"
export MINIO_ACCESS_KEY="my-access-key-id"
export MINIO_SECRET_KEY="secret"
```

Alternatively, you can start without any configuration and fill in your endpoint and credentials through the form when prompted.

## Development

### Development Installation

> **Note:** You will need NodeJS to build the extension package.

The `jlpm` command is JupyterLab's pinned version of [yarn](https://yarnpkg.com/), but you may also use `yarn` or `npm` as an alternative.

To install the development environment:

```bash
# Clone the repository and navigate to the project folder
git clone https://github.com/aristide/jupyterlab-minio.git
cd jupyterlab-minio

# Set up a virtual environment
virtualenv .venv
source .venv/bin/activate

# Install required packages for development
pip install jupyter_packaging~=0.10

# Install the package in development mode
pip install -e .

# Link the development version of the extension with JupyterLab
jupyter labextension develop . --overwrite

# Enable the server extension manually in development mode
jupyter server extension enable jupyterlab-minio

# Build the extension TypeScript source files
jlpm build
```

To continuously watch the source directory and rebuild the extension on changes, run:

```bash
# Watch the source directory in one terminal
jlpm watch

# In another terminal, run JupyterLab in debug mode
jupyter lab --debug
```

To ensure source maps are generated for easier debugging:

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

### Development Uninstallation

```bash
# Disable the server extension in development mode
jupyter server extension disable jupyterlab-minio

# Uninstall the package
pip uninstall jupyterlab-minio
```

In development mode, you may also need to remove the symlink created by `jupyter labextension develop`. To find its location, use `jupyter labextension list` to locate the `labextensions` folder, then remove the `jupyterlab-minio` symlink within it.

### Testing the Extension

#### Server Tests

To install test dependencies and execute server tests:

```bash
pip install -e ".[test]"
jupyter labextension develop . --overwrite
pytest -vv -r ap --cov jupyterlab-minio
```

#### Frontend Tests

To execute frontend tests using [Jest](https://jestjs.io/):

```bash
jlpm
jlpm test
```

#### Integration Tests

This extension uses [Playwright](https://playwright.dev/docs/intro/) with the JupyterLab helper [Galata](https://github.com/jupyterlab/jupyterlab/tree/master/galata) for integration tests.

Refer to the [ui-tests README](./ui-tests/README.md) for further details.

## Running the Devcontainer in Visual Studio Code

1. **Install Docker**: Ensure Docker is installed and running on your machine. You can download it from [Docker's official site](https://www.docker.com/products/docker-desktop).

2. **Install Visual Studio Code**: Download and install [Visual Studio Code](https://code.visualstudio.com/).

3. **Install the Remote - Containers Extension**:

   - In Visual Studio Code, go to the Extensions view (`Ctrl+Shift+X` or `Cmd+Shift+X` on Mac).
   - Search for and install the "Remote - Containers" extension by Microsoft.

4. **Open the Project in a Devcontainer**:

   - Open the `jupyterlab-minio` project folder in Visual Studio Code.
   - You should see a prompt to reopen the folder in a devcontainer. Click "Reopen in Container." If you don’t see the prompt, use the **Command Palette** (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac), type "Remote-Containers: Reopen in Container," and select it.

5. **Wait for the Container to Build**:

   - VS Code will build the devcontainer using the `.devcontainer/Dockerfile` or `.devcontainer/devcontainer.json` configuration. This setup may take a few minutes as it installs dependencies and configures the environment.

6. **Access the Development Environment**:

   - Once the container is running, you can access the terminal (` Ctrl+`` or  `Cmd+``on Mac) and use the VS Code editor as usual. The devcontainer has all necessary tools pre-installed for working on`jupyterlab-minio`.

7. **Run the Extension**:
   - To run and test the extension in JupyterLab, use the development commands from above, such as `jlpm watch` and `jupyter lab --debug --ServerApp.token='' --ip=0.0.0.0 --notebook-dir=notebooks`.

This setup allows you to develop in a consistent, isolated environment that replicates the project dependencies and configurations, making collaboration easier.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/aristide/jupyterlab-minio",
    "name": "jupyterlab-minio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "Jupyter, JupyterLab, JupyterLab3, Minio, S3",
    "author": "Aristide Mendo'o",
    "author_email": "mendoo.aristide@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7c/13/16c45f519ccf51c305afe47b2224acc73dce9fc60bc923009b94280cc408/jupyterlab_minio-1.1.1.tar.gz",
    "platform": "Linux",
    "description": "# jupyterlab-minio\n\n[![Github Actions Status](https://github.com/aristide/jupyterlab-minio/workflows/Build/badge.svg)](https://github.com/aristide/jupyterlab-minio/actions/workflows/build.yml)\n[![PyPI version](https://badge.fury.io/py/jupyterlab-minio.svg)](https://badge.fury.io/py/jupyterlab-minio)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jupyterlab-minio/jupyterlab-minio/master?urlpath=lab)\n\nJupyterLab extension for browsing Minio object storage.\n\nThis extension is composed of a Python package named `jupyterlab-minio`.\n\n![Jupyter Minio](https://raw.githubusercontent.com/aristide/jupyterlab-minio/master/minio-browser-screenshot.gif)\n\n## Installation\n\nThis extension works on JupyterLab 3 only.\n\nTo install:\n\n```bash\npip install jupyterlab-minio\n```\n\nYou may also need to run:\n\n```bash\njupyter server extension enable jupyterlab-minio\n```\n\nto make sure the server extension is enabled. Then, restart (stop and start) JupyterLab.\n\n## Usage\n\n### Configuration\n\nIf you have a `~/.mc/config.json` file, no further configuration is necessary.\n\nTo configure using environment variables, set:\n\n```bash\nexport MINIO_ENDPOINT=\"https://s3.us.cloud-object-storage.appdomain.cloud\"\nexport MINIO_ACCESS_KEY=\"my-access-key-id\"\nexport MINIO_SECRET_KEY=\"secret\"\n```\n\nAlternatively, you can start without any configuration and fill in your endpoint and credentials through the form when prompted.\n\n## Development\n\n### Development Installation\n\n> **Note:** You will need NodeJS to build the extension package.\n\nThe `jlpm` command is JupyterLab's pinned version of [yarn](https://yarnpkg.com/), but you may also use `yarn` or `npm` as an alternative.\n\nTo install the development environment:\n\n```bash\n# Clone the repository and navigate to the project folder\ngit clone https://github.com/aristide/jupyterlab-minio.git\ncd jupyterlab-minio\n\n# Set up a virtual environment\nvirtualenv .venv\nsource .venv/bin/activate\n\n# Install required packages for development\npip install jupyter_packaging~=0.10\n\n# Install the package in development mode\npip install -e .\n\n# Link the development version of the extension with JupyterLab\njupyter labextension develop . --overwrite\n\n# Enable the server extension manually in development mode\njupyter server extension enable jupyterlab-minio\n\n# Build the extension TypeScript source files\njlpm build\n```\n\nTo continuously watch the source directory and rebuild the extension on changes, run:\n\n```bash\n# Watch the source directory in one terminal\njlpm watch\n\n# In another terminal, run JupyterLab in debug mode\njupyter lab --debug\n```\n\nTo ensure source maps are generated for easier debugging:\n\n```bash\njupyter lab build --minimize=False\n```\n\n### Development Uninstallation\n\n```bash\n# Disable the server extension in development mode\njupyter server extension disable jupyterlab-minio\n\n# Uninstall the package\npip uninstall jupyterlab-minio\n```\n\nIn development mode, you may also need to remove the symlink created by `jupyter labextension develop`. To find its location, use `jupyter labextension list` to locate the `labextensions` folder, then remove the `jupyterlab-minio` symlink within it.\n\n### Testing the Extension\n\n#### Server Tests\n\nTo install test dependencies and execute server tests:\n\n```bash\npip install -e \".[test]\"\njupyter labextension develop . --overwrite\npytest -vv -r ap --cov jupyterlab-minio\n```\n\n#### Frontend Tests\n\nTo execute frontend tests using [Jest](https://jestjs.io/):\n\n```bash\njlpm\njlpm test\n```\n\n#### Integration Tests\n\nThis extension uses [Playwright](https://playwright.dev/docs/intro/) with the JupyterLab helper [Galata](https://github.com/jupyterlab/jupyterlab/tree/master/galata) for integration tests.\n\nRefer to the [ui-tests README](./ui-tests/README.md) for further details.\n\n## Running the Devcontainer in Visual Studio Code\n\n1. **Install Docker**: Ensure Docker is installed and running on your machine. You can download it from [Docker's official site](https://www.docker.com/products/docker-desktop).\n\n2. **Install Visual Studio Code**: Download and install [Visual Studio Code](https://code.visualstudio.com/).\n\n3. **Install the Remote - Containers Extension**:\n\n   - In Visual Studio Code, go to the Extensions view (`Ctrl+Shift+X` or `Cmd+Shift+X` on Mac).\n   - Search for and install the \"Remote - Containers\" extension by Microsoft.\n\n4. **Open the Project in a Devcontainer**:\n\n   - Open the `jupyterlab-minio` project folder in Visual Studio Code.\n   - You should see a prompt to reopen the folder in a devcontainer. Click \"Reopen in Container.\" If you don\u2019t see the prompt, use the **Command Palette** (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac), type \"Remote-Containers: Reopen in Container,\" and select it.\n\n5. **Wait for the Container to Build**:\n\n   - VS Code will build the devcontainer using the `.devcontainer/Dockerfile` or `.devcontainer/devcontainer.json` configuration. This setup may take a few minutes as it installs dependencies and configures the environment.\n\n6. **Access the Development Environment**:\n\n   - Once the container is running, you can access the terminal (` Ctrl+`` or  `Cmd+``on Mac) and use the VS Code editor as usual. The devcontainer has all necessary tools pre-installed for working on`jupyterlab-minio`.\n\n7. **Run the Extension**:\n   - To run and test the extension in JupyterLab, use the development commands from above, such as `jlpm watch` and `jupyter lab --debug --ServerApp.token='' --ip=0.0.0.0 --notebook-dir=notebooks`.\n\nThis setup allows you to develop in a consistent, isolated environment that replicates the project dependencies and configurations, making collaboration easier.\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "JupyterLab extension for browsing Minio object storage",
    "version": "1.1.1",
    "project_urls": {
        "Homepage": "https://github.com/aristide/jupyterlab-minio"
    },
    "split_keywords": [
        "jupyter",
        " jupyterlab",
        " jupyterlab3",
        " minio",
        " s3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c61622c827fa6134113a9a3ee1d3f383735adaada72634f96db1cfb5e5d44434",
                "md5": "c8aa684b288df828e8c35f9501f63e0a",
                "sha256": "584f4161050ad05c2d125ea3a323966636009c06bf99b1c95996c9f96742e9f2"
            },
            "downloads": -1,
            "filename": "jupyterlab_minio-1.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c8aa684b288df828e8c35f9501f63e0a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 51054,
            "upload_time": "2024-11-10T18:27:24",
            "upload_time_iso_8601": "2024-11-10T18:27:24.089387Z",
            "url": "https://files.pythonhosted.org/packages/c6/16/22c827fa6134113a9a3ee1d3f383735adaada72634f96db1cfb5e5d44434/jupyterlab_minio-1.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7c1316c45f519ccf51c305afe47b2224acc73dce9fc60bc923009b94280cc408",
                "md5": "253b8c6ecfca44389d9d2cb1f5d6544f",
                "sha256": "6bec0207e6a229c9728911fa408ef976b5f6388b42dfede3057933deafa4fff0"
            },
            "downloads": -1,
            "filename": "jupyterlab_minio-1.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "253b8c6ecfca44389d9d2cb1f5d6544f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 30830,
            "upload_time": "2024-11-10T18:27:25",
            "upload_time_iso_8601": "2024-11-10T18:27:25.177164Z",
            "url": "https://files.pythonhosted.org/packages/7c/13/16c45f519ccf51c305afe47b2224acc73dce9fc60bc923009b94280cc408/jupyterlab_minio-1.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-10 18:27:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aristide",
    "github_project": "jupyterlab-minio",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "jupyterlab-minio"
}
        
Elapsed time: 4.54357s