Proposed: Jupyter FS - APPROVED
- 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
Assessment
This issue has not been assessed yet.