finos / finos/community

Proposed: Jupyter FS - APPROVED

Open
#417 10 comments 0 reactions 1 assignee Claimed by @TheJuanAndOnly99 View on GitHub
contribution
Dominant language
JavaScript
Stars
75
Forks
40
Avg merge
1m
Merged PRs (30d)
5

Description

### Contribution Prerequisites

- [x] I have read [FINOS Contribution Requirements](https://community.finos.org/docs/governance/Software-Projects/contribution-compliance-requirements).
- [x] I confirm I am contributing on behalf of a FINOS member OR I will seek a maintainer from a member during socialization.
- [x] I have reviewed the [FINOS Contribution Process](https://community.finos.org/docs/governance/Software-Projects/contribution/).
- [x] I have reviewed the [FINOS Project Lifecycle](https://community.finos.org/docs/governance/project-lifecycle) stages.
- [x] I am familiar with [FINOS Governance](https://community.finos.org/docs/governance) and [Maintainer Responsibilities](https://community.finos.org/docs/finos-maintainers-cheatsheet/).

### Target Lifecycle Stage

Incubating - https://github.com/finos/community/issues/423

### FINOS Member Organization Name

JP Morgan Chase

### Name

Jupyter FS

### Slug

jupyter-fs

### Business Problem & Solution

Financial services firms operate in environments where analysts, quants, traders, and developers routinely need to access notebooks, datasets, models, and code that live across many different storage systems — local disks, shared network drives (SMB/CIFS), cloud object stores (S3, Azure Blob, GCS), enterprise content systems, and internal artifact repositories. JupyterLab, which has become a standard interactive computing environment across the industry for research, model development, and data analysis, by default ships with only a single local-filesystem browser. This forces users into fragmented workflows: downloading files locally before working with them, juggling multiple tools and credentials, copying data between systems (creating governance, lineage, and data-loss risks), and writing boilerplate code in every notebook just to load remote artifacts.

Jupyter FS solves this by providing a JupyterLab extension and Jupyter Server contents manager that exposes any [PyFilesystem2](https://github.com/PyFilesystem/pyfilesystem2) or [fsspec](https://filesystem-spec.readthedocs.io/en/latest/) compatible backend as a first-class, browsable file tree directly inside JupyterLab. Users can mount multiple heterogeneous filesystems side-by-side, browse and open files natively, and interact with remote stores using the same UX as local files — with support for credential management (including OS keyring integration) so that secrets do not need to be hard-coded into notebooks. For Financial Services specifically, this means:

- Reduced operational risk and improved data governance: data can be read directly from authoritative stores rather than copied to laptops or shared drives.
- Consistent, auditable access patterns: one extension and one credential model across S3, SMB, OSFS, and other backends, simplifying compliance with internal data-handling and entitlement policies.
- Lower total cost of ownership: a single open-source, pluggable extension replaces a proliferation of custom in-house file connectors that each business line would otherwise build and maintain.

By contributing jupyter-fs to FINOS, the project gains a vendor-neutral home where banks, asset managers, and fintech vendors can collaborate on shared filesystem connectors, security hardening, and enterprise integrations that benefit the entire industry.

### Mission Statement

The mission of the project is to enable JupyterLab users to seamlessly browse, access, and manage files across any local or remote filesystem through a single, extensible, and secure interface.

### Additional Information (Optional)

_No response_

### Maintainer Team

| Name | Affiliation | Email | GitHub Username |
| :--- | :--- | :--- | :--- |
| Vidar T Fauske | JP Morgan Chase | 104149412+vidartf-jpmc@users.noreply.github.com | @vidartf-jpmc / @vidartf |
| Tim Paine | Point72 - Cubist | 3105306+timkpaine@users.noreply.github.com | @timkpaine |

### Compliance & Requirements Agreement

- [x] I understand that before being able to contribute all maintainers and contributors will need to be covered by a [Contributor License Agreement](https://community.finos.org/docs/governance/Software-Projects/contribution-compliance-requirements#contributor-license-agreement) or commits must satisfy the [Developer Certificate of Origin](https://developercertificate.org/) (DCO) requirements.
- [x] I confirm that software will be covered by the [Apache 2.0 License](https://community.finos.org/docs/governance/Software-Projects/contribution-compliance-requirements#license-information) and any [third-party code is compatible](https://community.finos.org/docs/governance/Software-Projects/contribution-compliance-requirements#third-party-code-compliance).
- [x] I have selected the appropriate [lifecycle stage](https://community.finos.org/docs/governance/project-lifecycle) based on that stage's requirements. I agree and commit to the Acceptance & Maintenance Requirements for my target stage.

### Administrative Consent & Transfer Authorization

- [x] I agree to grant 'finos-admin' Admin/Owner access to the repository for security auditing and setup.
- [x] I authorize the transfer of this code/repository to the FINOS GitHub organization upon project acceptance.
- [x] I confirm I have the legal authority (individual or corporate) to grant these permissions.

### Socialization Acknowledgement

- [x] I understand I may need to socialize this proposal to community@finos.org before a TOC review to gauge community interest.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.