Core Fiberplane data models and methods for transforming them (templates, providers, markdown conversion)

Overview

fiberplane

This repository is a monorepo for Rust code that is used throughout Fiberplane's product.

Overview

  • base64uuid - A utility for working with base64url-encoded UUIDs. We use them throughout Fiberplane products, though the crate is usable on its own.
  • fiberplane - A convenient umbrella crate that re-exports all the fiberplane-* crates.
  • fiberplane-api-client - API client to interact with the Fiberplane REST API. Is generated from the OpenAPI schema located in schemas/openapi_v1.yaml and uses the models from fiberplane-models, so the client is based on the same models we use internally.
  • fiberplane-markdown - Utilities to convert Fiberplane Notebooks to and from Markdown.
  • fiberplane-models - Our core data models, ranging from notebook and cell definitions, to types used in the provider protocol as well as those for our real-time operations.
  • fiberplane-provider-protocol - The definition for our low-level provider protocol and the bindings that are generated from it.
  • fiberplane-templates - Our Jsonnet template engine.

Getting Help

Please see COMMUNITY.md for ways to reach out to us.

Contributing

Please be advised that even though many of our repositories are open for outside contributions, fiberplane is primarily a read-only repository for our community. Fiberplane uses this repository to develop new features out in the open, and you are encouraged to build custom solutions on top of the source code we provide here. Our issue tracker and discussions forum are open to all in case you have issues or questions/suggestions.

For more information, please see CONTRIBUTING.md.

Code of Conduct

See CODE_OF_CONDUCT.md.

License

All code within the fiberplane repository is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT.

Comments
  • chore: move api-client description to correct field

    chore: move api-client description to correct field

    Description

    Small mistake from #2 corrected.

    API Client has been published with this change already, to not block fiberplane release, and enable PDK publishing

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • [x] ~~The changes have been tested to be backwards compatible.~~
    • [x] ~~The OpenAPI schema and generated client have been updated.~~
    • [x] ~~PR for API is ready and reviewed: (please link)~~
    • [x] ~~PR for Studio is ready and reviewed: (please link)~~
    • [x] ~~PR for CLI is ready and reviewed: (please link)~~
    • [x] ~~PR for Proxy is ready and reviewed: (please link)~~
    • [x] ~~The CHANGELOG(s) are updated.~~

    When adding new fiberplane-models module:

    • [x] ~~PR for fp-openapi-rust-gen is ready and reviewed: (please link)~~

    When adding new operation types:

    • [x] ~~PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by gagbo 2
  • Protocol cleanups

    Protocol cleanups

    Description

    Now that the remaining legacy providers are converted, we can also get rid of the legacy types from the protocol.

    Also cleans up a few annotations that still used the fp-bindgen v2 syntax.

    Fixes FP-2705

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • [ ] The changes have been tested to be backwards compatible.
    • ~~[ ] The OpenAPI schema and generated client have been updated.~~
    • ~~[ ] New models module has been added to API generator script~~
    • ~~[ ] PR for API is ready and reviewed: (please link)~~
    • [x] PR for Studio is ready and reviewed: https://github.com/fiberplane/studio/pull/1431
    • [x] PR for CLI is ready and reviewed: https://github.com/fiberplane/fp/pull/221
    • ~~[ ] PR for FPD is ready and reviewed: (please link)~~ Heads-up: I am intentionally delaying the rollout of the new providers to FPD, since that will give us extra time to test how Studio works with FPD instances that still have the old providers.
    • [x] PR for Providers repo is ready and reviewed: https://github.com/fiberplane/providers/pull/20
    • [x] The CHANGELOG(s) are updated.

    When adding new operation types:

    • ~~[ ] PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by arendjr 1
  • Fix Publish workflow

    Fix Publish workflow

    Description

    Fixes for CI

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • [x] ~~The changes have been tested to be backwards compatible.~~
    • [x] ~~The OpenAPI schema and generated client have been updated.~~
    • [x] ~~New models module has been added to API generator script~~
    • [x] ~~PR for API is ready and reviewed: (please link)~~
    • [x] ~~PR for Studio is ready and reviewed: (please link)~~
    • [x] ~~PR for CLI is ready and reviewed: (please link)~~
    • [x] ~~PR for FPD is ready and reviewed: (please link)~~
    • [x] ~~The CHANGELOG(s) are updated.~~

    When adding new operation types:

    • [x] ~~PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by gagbo 0
  • regenerate client with new api generator version

    regenerate client with new api generator version

    Description

    thats right we got multi line commentsnow

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • [x] ~~The changes have been tested to be backwards compatible.~~
    • [x] The OpenAPI schema and generated client have been updated.
    • [x] ~~New models module has been added to API generator script~~
    • [x] ~~PR for API is ready and reviewed: (please link)~~
    • [x] ~~PR for Studio is ready and reviewed: (please link)~~
    • [x] ~~PR for CLI is ready and reviewed: (please link)~~
    • [x] ~~PR for FPD is ready and reviewed: (please link)~~
    • [x] ~~The CHANGELOG(s) are updated.~~

    When adding new operation types:

    • [x] ~~PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by mellowagain 0
  • Revert

    Revert "Add timeline cell type (#5)"

    Description

    This reverts commit 3d83776ffb6b47055a29585a6cd37fedb3f397c9.

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • [x] The changes have been tested to be backwards compatible.
    • [ ] ~~The OpenAPI schema and generated client have been updated.~~
    • [ ] PR for API is ready and reviewed: (please link)
    • [ ] ~~PR for Studio is ready and reviewed: (please link)~~
    • [ ] ~~PR for CLI is ready and reviewed: (please link)~~
    • [ ] ~~PR for FPD is ready and reviewed: (please link)~~
    • [ ] ~~The CHANGELOG(s) are updated.~~

    When adding new fiberplane-models module:

    • [ ] ~~PR for fp-openapi-rust-gen is ready and reviewed: (please link)~~

    When adding new operation types:

    • [ ] ~~PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by actualwitch 0
  • Add release script for fiberplane

    Add release script for fiberplane

    Description

    Add a publish script to:

    • publish git-based version of all crates to artifactory
    • publish all newly changed versions to crates-io on push to main

    The first point is for internal development/usage. The second point is to be able to trigger a release just from merging a "Release version X.X" PR that will update the changelog and bump the versions in Cargo.toml.

    Fixes FP-3001

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • [x] ~~The changes have been tested to be backwards compatible.~~
    • [x] ~~The OpenAPI schema and generated client have been updated.~~
    • [x] ~~PR for API is ready and reviewed: (please link)~~
    • [x] ~~PR for Studio is ready and reviewed: (please link)~~
    • [x] ~~PR for CLI is ready and reviewed: (please link)~~
    • [x] ~~PR for FPD is ready and reviewed: (please link)~~
    • [x] ~~The CHANGELOG(s) are updated.~~

    When adding new fiberplane-models module:

    • [x] ~~PR for fp-openapi-rust-gen is ready and reviewed: (please link)~~

    When adding new operation types:

    • [x] ~~PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by gagbo 0
  • Update references to example templates

    Update references to example templates

    Description

    Updates references to example templates to point to the templates repository.

    I have not yet removed the examples directory from the fiberplane-templates crate, because its tests rely on it. So I think it's safer to just accept a little duplication for now.

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • ~~[ ] The changes have been tested to be backwards compatible.~~
    • ~~[ ] The OpenAPI schema and generated client have been updated.~~
    • ~~[ ] PR for API is ready and reviewed: (please link)~~
    • ~~[ ] PR for Studio is ready and reviewed: (please link)~~
    • ~~[ ] PR for CLI is ready and reviewed: (please link)~~
    • ~~[ ] PR for FPD is ready and reviewed: (please link)~~
    • ~~[ ] The CHANGELOG(s) are updated.~~

    When adding new fiberplane-models module:

    • ~~[ ] PR for fp-openapi-rust-gen is ready and reviewed: (please link)~~

    When adding new operation types:

    • ~~[ ] PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by arendjr 0
  • Publish v1.0.0-beta.1

    Publish v1.0.0-beta.1

    Description

    Publish fiberplane-* v1.0.0-beta.1 and providers-* 2.0.0-beta.1.

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • ~~[ ] The changes have been tested to be backwards compatible.~~
    • ~~[ ] The OpenAPI schema and generated client have been updated.~~
    • ~~[ ] PR for API is ready and reviewed: (please link)~~
    • ~~[ ] PR for Studio is ready and reviewed: (please link)~~
    • ~~[ ] PR for CLI is ready and reviewed: (please link)~~
    • ~~[ ] PR for FPD is ready and reviewed: (please link)~~
    • [x] The CHANGELOG(s) are updated.

    When adding new fiberplane-models module:

    • ~~[ ] PR for fp-openapi-rust-gen is ready and reviewed: (please link)~~

    When adding new operation types:

    • ~~[ ] PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by arendjr 0
  • update generator script to include new generator args

    update generator script to include new generator args

    Description

    requires https://github.com/fiberplane/fp-openapi-rust-gen/pull/22

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • [x] ~~The changes have been tested to be backwards compatible.~~
    • [x] ~~The OpenAPI schema and generated client have been updated.~~
    • [x] ~~PR for API is ready and reviewed: (please link)~~
    • [x] ~~PR for Studio is ready and reviewed: (please link)~~
    • [x] ~~PR for CLI is ready and reviewed: (please link)~~
    • [x] ~~PR for FPD is ready and reviewed: (please link)~~
    • [x] ~~The CHANGELOG(s) are updated.~~

    When adding new fiberplane-models module:

    • [x] ~~PR for fp-openapi-rust-gen is ready and reviewed: (please link)~~

    When adding new operation types:

    • [x] ~~PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by mellowagain 0
  • Add documentation fields and generate READMEs

    Add documentation fields and generate READMEs

    Description

    Adds ~~documentation and~~ readme fields to all the published crates. Also puts the bulk of the crate READMEs inside of the crate's src/lib.rs, so that it will also be displayed prominently on docs.rs. I added some READMEs where they were still missing, and fixed some links in the process.

    Only crate exempted for now is the API client, because the generator has no method yet to generate the given fields, or to include a README as the directory gets wiped every time (@mellowagain).

    Fixes FP-2997

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • ~~[ ] The changes have been tested to be backwards compatible.~~
    • ~~[ ] The OpenAPI schema and generated client have been updated.~~
    • ~~[ ] PR for API is ready and reviewed: (please link)~~
    • ~~[ ] PR for Studio is ready and reviewed: (please link)~~
    • ~~[ ] PR for CLI is ready and reviewed: (please link)~~
    • ~~[ ] PR for Proxy is ready and reviewed: (please link)~~
    • ~~[ ] The CHANGELOG(s) are updated.~~

    When adding new fiberplane-models module:

    • ~~[ ] PR for fp-openapi-rust-gen is ready and reviewed: (please link)~~

    When adding new operation types:

    • ~~[ ] PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by arendjr 0
  • Fix fiberplane-rs references

    Fix fiberplane-rs references

    Description

    Fix a few more references to the old repository name.

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • ~~[ ] The changes have been tested to be backwards compatible.~~
    • ~~[ ] The OpenAPI schema and generated client have been updated.~~
    • ~~[ ] PR for API is ready and reviewed: (please link)~~
    • ~~[ ] PR for Studio is ready and reviewed: (please link)~~
    • ~~[ ] PR for CLI is ready and reviewed: (please link)~~
    • ~~[ ] PR for Proxy is ready and reviewed: (please link)~~
    • ~~[ ] The CHANGELOG(s) are updated.~~

    When adding new fiberplane-models module:

    • ~~[ ] PR for fp-openapi-rust-gen is ready and reviewed: (please link)~~

    When adding new operation types:

    • ~~[ ] PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by arendjr 0
  • Fix publishing to Artifactory

    Fix publishing to Artifactory

    Description

    Fixes the authorization for publishing to Artifactory.

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • ~~[ ] The changes have been tested to be backwards compatible.~~
    • ~~[ ] The OpenAPI schema and generated client have been updated.~~
    • ~~[ ] New models module has been added to API generator script~~
    • ~~[ ] PR for API is ready and reviewed: (please link)~~
    • ~~[ ] PR for Studio is ready and reviewed: (please link)~~
    • ~~[ ] PR for CLI is ready and reviewed: (please link)~~
    • ~~[ ] PR for FPD is ready and reviewed: (please link)~~
    • ~~[ ] The CHANGELOG(s) are updated.~~

    When adding new operation types:

    • ~~[ ] PR for fiberplane-ot is ready and reviewed: (please link)~~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by arendjr 1
  • Add cfg attributes for sorting and pagination with fp-bindgen

    Add cfg attributes for sorting and pagination with fp-bindgen

    Description

    Makes sure we can generate ts bindings for pagination and sorting in FiberKit

    Checklist

    Please make sure all of these are checked before merging. Please leave items you think are non-applicable in the list, but use strike-through (~~) to indicate they don't apply.

    • [ ] ~The changes have been tested to be backwards compatible.~
    • [ ] ~The OpenAPI schema and generated client have been updated.~
    • [ ] ~PR for API is ready and reviewed: (please link)~
    • [ ] ~PR for Studio is ready and reviewed: (please link)~
    • [ ] ~PR for CLI is ready and reviewed: (please link)~
    • [ ] ~PR for FPD is ready and reviewed: (please link)~
    • [ ] ~The CHANGELOG(s) are updated.~

    When adding new fiberplane-models module:

    • [ ] ~PR for fp-openapi-rust-gen is ready and reviewed: (please link)~

    When adding new operation types:

    • [ ] ~PR for fiberplane-ot is ready and reviewed: (please link)~

    After merging, please merge related PRs ASAP, so others don't get blocked.

    opened by stephlow 0
Releases(v1.0.0-alpha.2)
  • v1.0.0-alpha.2(Feb 13, 2023)

A common library and set of test cases for transforming OSM tags to lane specifications

osm2lanes See discussion for context. This repo is currently just for starting this experiment. No license chosen yet. Structure data tests.json—tests

A/B Street 29 Nov 16, 2022
tmplt is a command-line interface tool that allows you to quickly and easily set up project templates for various programming languages and frameworks

tmplt A User Friendly CLI Tool For Creating New Projects With Templates About tmplt is a command-line tool that lets users quickly create new projects

Humble Penguin 35 Apr 8, 2023
Fast conversion between linear float and 8-bit sRGB

fast-srgb8 Small crate implementing fast conversion between linear float and 8-bit sRGB. Includes API for performing 4 simultaneous conversions, which

Thom Chiovoloni 13 Sep 3, 2022
An abstract, safe, and concise color conversion library for rust nightly This requires the feature adt_const_params

colortypes A type safe color conversion library This crate provides many methods for converting between color types. Everything is implemented abstrac

Jacob 13 Dec 7, 2022
Fixed point to floating point (and back) conversion utility

fixed2float Simple utility for fixed point to real number conversions, using the VisSim (Fxm.b) and Q (Qm.n) notations. Usage as a dependency of your

Francesco Urbani 2 Aug 5, 2022
SKYULL is a command-line interface (CLI) in development that creates REST API project structure templates with the aim of making it easy and fast to start a new project.

SKYULL is a command-line interface (CLI) in development that creates REST API project structure templates with the aim of making it easy and fast to start a new project. With just a few primary configurations, such as project name, you can get started quickly.

Gabriel Michaliszen 4 May 9, 2023
SVG to PDF file conversion based on "svg2pdf" and "resvg" Rust projects

pysvg2pdf Blazingly Fast ™️ SVG to PDF file conversion for Python. This project is based on Rust's svg2pdf and resvg projects. The project uses pyo3 a

SuffleWaffle 4 Mar 28, 2024
Tiny color conversion library for TUI application builders

Definition of ANSI, RGB and HSL color types and all the conversions between them. There are many other color conversion crates. This one may be useful

Canop 8 Dec 15, 2022
Rust implementation of custom numeric base conversion.

base_custom Use any characters as your own numeric base and convert to and from decimal. This can be taken advantage of in various ways: Mathematics:

Daniel P. Clark 5 Dec 28, 2021
YAML(ish) - Terminal UI framework based on templates focused on simplicity

A YAML(ish) based terminal GUI framework for- and by Rust, focussed on making it quick and easy to create a functional UI for an app or game. Based on Crossterm and inspired by Kivy.

null 27 Dec 18, 2022
🎒 CLI to create starters from repos + Templates 🤖 + Actions 🚀

Backpack A tool to curate and automate your starter projects Key Features • How To Use • Download • Contributing • License Key Features Generate from

Rusty Ferris Club 30 Mar 6, 2023
Create `.gitignore` files using one or more templates from TopTal, GitHub or your own collection

gitnr A cross-platform CLI utility to create .gitignore files using templates. Use templates from the GitHub & TopTal collections Use local files and

reemus.dev 25 Sep 2, 2023
Efficient scan conversion of a line segment with clipping to a rectangular window.

✂️ clipline ?? clipline is a Rust crate for efficient scan conversion of a line segment with clipping to a rectangular window. It is an implementation

Nurzhan Sakén 5 Oct 26, 2023
Tools - The Rome Toolchain. A linter, compiler, bundler, and more for JavaScript, TypeScript, HTML, Markdown, and CSS.

Rome is currently being rewritten in Rust. Read more about it in our latest blog post. The documentation below is out of date and available for poster

Rome 22k Jan 3, 2023
A Faster(⚡) formatter, linter, bundler, and more for JavaScript, TypeScript, JSON, HTML, Markdown, and CSS Lapce Plugin

Lapce Plugin for Rome Lapce-rome is a Lapce plugin for rome, The Rome is faster ⚡ , A formatter, linter, compiler, bundler, and more for JavaScript, T

xiaoxin 7 Dec 16, 2022
Utility library for some Lenovo IdeaPad laptops. Supports IdeaPad Intel and AMD Models (15IIL05 and 15ARE05)

ideapad A Rust utility library for some Lenovo IdeaPad specific functionality. A Fair Warning This crate calls raw ACPI methods, which on the best cas

ALinuxPerson 2 Aug 31, 2022
A command-line tool aiming to upload the local image used in your markdown file to the GitHub repo and replace the local file path with the returned URL.

Pup A command line tool aiming to upload the local image used in your markdown file to the GitHub repo and replace the local file path with the return

SteveLau 11 Aug 17, 2022
scan markdown files and execute `console` blocks

exec-commands − scan markdown files and execute console blocks exec-commands is a utility to update command-line-tool examples embedded in markdown fi

Hajime Suzuki 3 Nov 27, 2022
Simple, omniglot, markdown-based literate programming and living documentation

Betwixt Simple, markdown-based, polyglot literate programming and documentation tests. Read code between the lines Summary Betwixt is heavily inspired

Zach 3 Dec 15, 2022