Manas project aims to create a modular framework and ecosystem to create robust storage servers adhering to Solid protocol in rust.

Overview

मनस् | Manas

Solid is a web native protocol to enable interoperable, read-write, collaborative, and decentralized web, truer to web's original vision.

Solid adds to existing Web standards to realise a space where individuals can maintain their autonomy, control their data and privacy, and choose applications and services to fulfil their needs.

Manas project aims to create a modular framework and ecosystem to create correct, robust storage servers adhering to Solid protocol in rust.

Manas thus models robust, definitive abstractions for many aspects of http and solid protocols in modular way, and provides them in well factored crates. This enables shared understanding of the domain, and to assemble customized server recipes.

⚠️ Note that, though much of the feature set is implemented, and architecture is relatively stable, it's test suite is constantly evolving. Many of devops bells are being integrated, and apis are being refined. Thus project is considered to be in alpha stage until it reaches at least version 0.5

Default server recipes

For end users, Manas provides officially supported assembled servers in manas_server crate. They support following features:

  • Support for Fs/S3/GCS and other object stores as backends through OpenDAL abstraction layer.
  • Authentication using Solid-OIDC protocol
  • Access control adhering to WAC/ACP.
  • PATCH requests with n3-patch support.
  • Full support for conditional requests, range requests, content-negotiation.
  • Integrated solid-os databrowser frontend.
  • ..etc.

For developers

Docs.rs

It is highly recommended to read the book to understand Manas's architecture.

Overview of crates

It provides following crates:

  • manas_http: Provides extended functionality for handling http semantics, that integrates into hyper ecosystem.

    • Provides comprehensive list of typed headers for solid ecosystem.
    • Provides types for various invariants of http uris, (like absolute, normalized, etc.)
    • Defines trait and implementations for http representation.
    • Provides implementation of conditional requests related algorithms.
    • etc.
  • manas_authentication: Defines traits for http challenge-response based authentication schemes. Provides default implementations confirming to Solid-OIDC.

  • manas_space: Defines traits for abstractions that together define a solid server's resource space confirming to generalized solid model

  • manas_repo: Defines trait for defining backend repositories and their services. This trait is plugging point for supporting custom backend repositories.

  • mans_repo_opendal: Provides default repository implementation on top of OpenDAL object store abstraction layer. Through OpenDAL, it supports backends such as fs, s3-compatible, gcs, azblob, etc. out of the box. While also allowing to take advantage of it's layer interface for enabling retry, tracing, etc. Through implementing OpenDAL's Accessor, one can plug to this repository implementation for any object-store like backends, instead of reimplementing entire repository interface.

  • mans_repo_layers: Provides few layering repo implementations, that can be layered over any repos to provide functionality like patching, validation, content-negotiation, etc.

  • manas_access_control: Defines traits for Access control systems compatible with solid storage space. Provides default implementations confirming to ACP, WAC authorization systems. Also provides an authorization layering repo implementation, to add authorization over any inner repo.

  • manas_storage: Provides traits for a SolidStorage, and SolidStorageService, (a solid-protocol compatible http service over a storage). Also provides default, modular implementations of concurrent safe http method services, confirming to solid protocol.

  • manas_podverse: Provides traits (Pod, PodSet, and ProvisionablePodSet, etc.) and default implementations for defining, serving, provisioning solid pods and podsets.

  • manas_server: Provides default recipes of solid server.

  • manas: All inclusive crate.

Along with these main crates, Manas project provides many utility crates that help dealing with solid ecosystem.

  • dpop: Rust crate for dpop protocol
  • rdf_dynsyn: Rust crate for dynamic rdf parsers and serializers on to of sophia.
  • rdf_utils: Utilities to handle rdf in rust.
  • webid: Rust crate for webid.
  • ... etc.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

See CONTRIBUTING.md.

Comments
  • Bump moka from 0.11.3 to 0.12.0

    Bump moka from 0.11.3 to 0.12.0

    Bumps moka from 0.11.3 to 0.12.0.

    Changelog

    Sourced from moka's changelog.

    Version 0.12.0

    Note v0.12.0 has major breaking changes on the API and internal behavior.

    • sync caches are no longer enabled by default: Please use a crate feature sync to enable it.

    • No more background threads: All cache types future::Cache, sync::Cache, and sync::SegmentedCache no longer spawn background threads.

      • The scheduled-thread-pool crate was removed from the dependency.
      • Because of this change, many private methods and some public methods under the future module were converted to async methods. You may need to add .await to your code for those methods.
    • Immediate notification delivery: The notification::DeliveryMode enum for the eviction listener was removed. Now all cache types behave as if the Immediate delivery mode is specified.

    Please read the MIGRATION-GUIDE.md for more details.

    Changed

    • Removed the thread pool from future cache (#294[gh-pull-0294]) and sync caches (#316[gh-pull-0316]).
    • Improved async cancellation safety of future::Cache. (#309[gh-pull-0309])

    Fixed

    • Fixed a bug that an internal do_insert_with_hash method gets the current Instant too early when eviction listener is enabled. (#322[gh-issue-0322])
    Commits
    • 0b160cd Merge pull request #326 from moka-rs/prepare-v0.12.0
    • 42149b0 Remove invalidator_enabled field from sync::base_cache::Inner
    • 6dce691 Update the README and CHANGELOG
    • 13bc37f Bump the version to v0.12.0
    • dccc75b Merge pull request #325 from peter-scholtens/patch-1
    • 5428903 typo in weblink
    • 51e099c Merge pull request #324 from moka-rs/get-timestamp-after-locking
    • 650be41 Update the change log
    • 70880ed Update the doc for Expiry trait for clarity
    • ffb71de Fix an issue that the last modified time might be get a little too early
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump serde_json from 1.0.105 to 1.0.107

    Bump serde_json from 1.0.105 to 1.0.107

    Bumps serde_json from 1.0.105 to 1.0.107.

    Release notes

    Sourced from serde_json's releases.

    v1.0.107

    • impl IntoDeserializer for &RawValue (#1071)

    v1.0.106

    Commits
    • b6e113f Release 1.0.107
    • 00626a0 Merge pull request #1073 from dtolnay/rawvalue
    • b9d296f IntoDeserializer for &RawValue
    • 4ea34a2 Merge pull request #1072 from dtolnay/rawvalue
    • fe30766 Support deserializing from &RawValue
    • 2c22077 Merge pull request #1062 from osiewicz/remove_build_rs
    • 04f7758 fixup! chore: Remove no_btreemap_get_key_value and no_btreemap_remove_entry.
    • 83bdc5f Omit return keyword in remove_entry
    • 89a2741 Revert "Remove limb_width32 and limb_width64 features"
    • 45f10ec Release 1.0.106
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump dyn-clone from 1.0.13 to 1.0.14

    Bump dyn-clone from 1.0.13 to 1.0.14

    Bumps dyn-clone from 1.0.13 to 1.0.14.

    Release notes

    Sourced from dyn-clone's releases.

    1.0.14

    • Documentation improvements
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump Swatinem/rust-cache from 1 to 2

    Bump Swatinem/rust-cache from 1 to 2

    Bumps Swatinem/rust-cache from 1 to 2.

    Release notes

    Sourced from Swatinem/rust-cache's releases.

    v2.0.0

    • The action code was refactored to allow for caching multiple workspaces and different target directory layouts.
    • The working-directory and target-dir input options were replaced by a single workspaces option that has the form of $workspace -> $target.
    • Support for considering env-vars as part of the cache key.
    • The sharedKey input option was renamed to shared-key for consistency.

    v1.4.0

    • Clean both debug and release target directories.

    v1.3.0

    • Use Rust toolchain file as additional cache key.
    • Allow for a configurable target-dir.

    v1.2.0

    • Cache ~/.cargo/bin.
    • Support for custom $CARGO_HOME.
    • Add a cache-hit output.
    • Add a new sharedKey option that overrides the automatic job-name based key.

    v1.1.0

    • Add a new working-directory input.
    • Support caching git dependencies.
    • Lots of other improvements.

    v1.0.1

    • Improved logging output.
    • Make sure to consider all-features dependencies when pruning.
    • Work around macOS cache corruption.
    • Remove git-db cache for now.
    Changelog

    Sourced from Swatinem/rust-cache's changelog.

    Changelog

    2.7.0

    • Properly cache trybuild tests.

    2.6.2

    • Fix toml parsing.

    2.6.1

    • Fix hash contributions of Cargo.lock/Cargo.toml files.

    2.6.0

    • Add "buildjet" as a second cache-provider backend.
    • Clean up sparse registry index.
    • Do not clean up src of -sys crates.
    • Remove .cargo/credentials.toml before saving.

    2.5.1

    • Fix hash contribution of Cargo.lock.

    2.5.0

    • feat: Rm workspace crates version before caching.
    • feat: Add hash of .cargo/config.toml to key.

    2.4.0

    • Fix cache key stability.
    • Use 8 character hash components to reduce the key length, making it more readable.

    2.3.0

    • Add cache-all-crates option, which enables caching of crates installed by workflows.
    • Add installed packages to cache key, so changes to workflows that install rust tools are detected and cached properly.
    • Fix cache restore failures due to upstream bug.
    • Fix EISDIR error due to globed directories.
    • Update runtime @actions/cache, @actions/io and dev typescript dependencies.
    • Update npm run prepare so it creates distribution files with the right line endings.

    2.2.1

    • Update @actions/cache dependency to fix usage of zstd compression.

    2.2.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump actions/upload-pages-artifact from 1 to 2

    Bump actions/upload-pages-artifact from 1 to 2

    Bumps actions/upload-pages-artifact from 1 to 2.

    Release notes

    Sourced from actions/upload-pages-artifact's releases.

    v2.0.0

    Changelog

    See details of all code changes since previous release.

    v1.0.10

    Changelog

    See details of all code changes since previous release.

    v1.0.9

    Removed chmod as we moved towards trusting correct file permissions have been set. In the event this isn't the case then we raise an error in the action related to the file permissions.

    v1.0.8

    Changelog

    See details of all code changes since previous release.

    v1.0.7

    Changelog

    See details of all code changes since previous release.

    v1.0.6

    Changelog

    See details of all code changes since previous release.

    v1.0.5

    Changelog

    ... (truncated)

    Commits
    • a753861 Merge pull request #69 from actions/reapply-chmod-removal-for-v2
    • dca6bac Merge branch 'main' into reapply-chmod-removal-for-v2
    • 3138c05 Merge pull request #70 from actions/v2-docs-improvements
    • 07f501f Update README for v2
    • 9c071e6 Reapply PR #63 for v2
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump actions/configure-pages from 2 to 3

    Bump actions/configure-pages from 2 to 3

    Bumps actions/configure-pages from 2 to 3.

    Release notes

    Sourced from actions/configure-pages's releases.

    v3.0.0

    Changelog

    See details of all code changes since previous release.

    v2.1.3

    Changelog

    See details of all code changes since previous release.

    v2.1.2

    Changelog

    See details of all code changes since previous release.

    v2.1.1

    Changelog

    See details of all code changes since previous release.

    v2.1.0

    Changelog

    See details of all code changes since previous release.

    Commits
    • f156874 Merge pull request #89 from actions/dependabot/npm_and_yarn/eslint-8.38.0
    • fe71f9a Update distributables after Dependabot 🤖
    • 41eccae Bump eslint from 8.36.0 to 8.38.0
    • 9cb8262 Merge pull request #86 from actions/dependabot/npm_and_yarn/eslint-plugin-git...
    • fadcf1a Bump eslint-plugin-github from 4.6.1 to 4.7.0
    • 1269962 Merge pull request #85 from actions/dependabot/npm_and_yarn/eslint-config-pre...
    • ee9b267 Bump eslint-config-prettier from 8.7.0 to 8.8.0
    • 3f3c78f Merge pull request #84 from actions/dependabot/npm_and_yarn/prettier-2.8.7
    • 22baedc Bump prettier from 2.8.6 to 2.8.7
    • 5549504 Merge pull request #83 from WofWca/better-error-message
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • 500 on a container that doesn't exist

    500 on a container that doesn't exist

    When sending a request to a container that doesn't exist, the server gives a 500 error:

    ERROR manas_storage::service::method::common::snippet::status_token: Unknown io error in resolving resource status token. Error:
      - Unknown io error. - Unexpected (temporary) at stat, context: { service: fs, path: demo-react/.__altcontent } => not a directory, source: Not a directory (os error 20)
    

    This request results in the 500 error:

    curl 'http://localhost:3001/demo-react/' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/118.0' -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'Referer: http://localhost:3000/' -H 'authorization: DPoP ey.........' -H 'dpop: ey.....' -H 'Origin: http://localhost:3000' -H 'Connection: keep-alive' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-site'
    
    opened by jaxoncreed 2
  • chore(deps): bump opendal from 0.39.0 to 0.40.0

    chore(deps): bump opendal from 0.39.0 to 0.40.0

    Bumps opendal from 0.39.0 to 0.40.0.

    Release notes

    Sourced from opendal's releases.

    v0.40.0

    Checkout our [OwO #1](https://opendal.apache.org/blog/owo-1) to know more about this release!

    Upgrade Note

    Public API

    RFC-2578 Merge Append Into Write

    RFC-2578 merges append into write and removes append API.

    • For writing a file at once, please use op.write() for convenience.
    • For appending a file, please use op.write_with().append(true) instead of op.append().

    The same rule applies to writer() and writer_with().

    RFC-2774 Lister API

    RFC-2774 proposes a new lister API to replace current list and scan. And we add a new API list to return entries directly.

    • For listing a directory at once, please use list() for convenience.
    • For listing a directory recursively, please use list_with().delimiter("") or lister_with().delimiter("") instead of scan().
    • For listing in streaming, please use lister() or lister_with() instead.

    RFC-2779 List With Metakey

    RFC-2779 proposes a new op.list_with().metakey() API to allow list with metakey and removes op.metadata(&entry) API.

    Please use op.list_with().metakey() instead of op.metadata(&entry), for example:

    // Before
    let entries: Vec<Entry> = op.list("dir/").await?;
    for entry in entris {
      let meta = op.metadata(&entry, Metakey::ContentLength | Metakey::ContentType).await?;
      println!("{} {}", entry.name(), entry.metadata().content_length());
    }
    

    // After let entries: Vec<Entry> = op .list_with("dir/") .metakey(Metakey::ContentLength | Metakey::ContentType).await?; for entry in entris { println!("{} {}", entry.name(), entry.metadata().content_length()); }

    RFC-2852: Native Capability

    RFC-2852 proposes new native_capability and full_capability API to allow users to check if the underlying service supports a capability natively.

    ... (truncated)

    Changelog

    Sourced from opendal's changelog.

    [v0.40.0] - 2023-09-18

    Added

    ... (truncated)

    Commits
    • 9a775bd chore: Bump to v0.40.0 round 2 (#3118)
    • 1aa43a9 docs: Add comments for blocking layer (#3117)
    • fbe8543 fix: Metakeys are not propagated with the blocking operators (#3116)
    • 3fdfa56 ci: Don't verify content for dry run (#3115)
    • 9b4b762 refactor(services/webhdfs): Rewrite webhdfs methods signature by using `OpX...
    • 09c19c0 chore(bindings/haskell): rename library name from opendal-hs to opendal (#3112)
    • 71d1c5d chore: Bump version to v0.40 to start release process (#3101)
    • d2e923c docs: add basic example for cpp binding (#3108)
    • 4b02228 test(blocking): tests for blocking append (#3023)
    • 82a865f feat(services/wasabi): Rewrite the method signatures using OpRead,OpW… (#3099)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • chore(deps): bump regex from 1.9.5 to 1.9.6

    chore(deps): bump regex from 1.9.5 to 1.9.6

    Bumps regex from 1.9.5 to 1.9.6.

    Changelog

    Sourced from regex's changelog.

    1.9.6 (2023-09-30)

    This is a patch release that fixes a panic that can occur when the default regex size limit is increased to a large number.

    • BUG aa4e4c71: Fix a bug where computing the maximum haystack length for the bounded backtracker could result underflow and thus provoke a panic later in a search due to a broken invariant.
    Commits
    • 11b4443 1.9.6
    • 3dda425 deps: bump regex-automata to 0.3.9
    • 03f00bd regex-automata-0.3.9
    • e467408 changelog: 1.9.6
    • aa4e4c7 automata: fix unintended panic in max_haystack_len
    • 27a2538 automata: add some #[inline] annotations
    • 061ee81 readme: visually emphasize performance criteria difference
    • 8275c1b doc: fix a few typos
    • cdc0dbd readme: add section about performance and benchmarks
    • 4aaf389 ci: pin to memchr 2.6.2 for MSRV CI job
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • chore(deps): bump clap from 4.4.5 to 4.4.6

    chore(deps): bump clap from 4.4.5 to 4.4.6

    Bumps clap from 4.4.5 to 4.4.6.

    Release notes

    Sourced from clap's releases.

    v4.4.6

    [4.4.6] - 2023-09-28

    Internal

    • Upgrade anstream
    Changelog

    Sourced from clap's changelog.

    [4.4.6] - 2023-09-28

    Internal

    • Upgrade anstream
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • chore(deps): bump actions/deploy-pages from 1 to 2

    chore(deps): bump actions/deploy-pages from 1 to 2

    Bumps actions/deploy-pages from 1 to 2.

    Release notes

    Sourced from actions/deploy-pages's releases.

    v2.0.0

    Changelog


    See details of all code changes since previous release.

    :warning: For use with products other than GitHub.com, such as GitHub Enterprise Server, please consult the compatibility table.

    v1.2.9

    Changelog

    • Backporting a few things to the v1.x release line for Enterprise Server users:

    See details of all code changes since previous release.

    :warning: For use with products other than GitHub.com, such as GitHub Enterprise Server, please consult the compatibility table.

    v1.2.8

    ⚠️ This release is essentially a revert of v1.2.7 and identical to the prior release v1.2.6.

    Changelog

    See details of all code changes since previous release.

    v1.2.7

    Changelog

    See details of all code changes since previous release.

    v1.2.6

    Changelog

    See details of all code changes since previous release.

    v1.2.5

    Changelog

    ... (truncated)

    Commits
    • 9dbe382 Merge pull request #201 from actions/update-compat-table
    • 96a5bb9 Fix typo
    • 8458d4c Update GHES compatibility table after verifying with 3.9.x
    • 0fd60c8 Merge pull request #194 from actions/dependabot/npm_and_yarn/octokit/request-...
    • 9f42854 Bump @​octokit/request-error from 4.0.1 to 5.0.0
    • 935c3f9 Merge pull request #196 from actions/dependabot/npm_and_yarn/prettier-3.0.0
    • 9c31b72 Bump prettier from 2.8.8 to 3.0.0
    • 2b0ca4a Merge pull request #195 from actions/dependabot/npm_and_yarn/jest-29.6.1
    • f7b0e18 Bump jest from 29.5.0 to 29.6.1
    • 8b4e85a Merge pull request #192 from actions/dependabot/github_actions/release-drafte...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
Owner
Manomayam
(मनोमयम् / mən̪oːməjəm)
Manomayam
High Assurance Rust - A free book about developing secure and robust systems software.

High Assurance Rust - A free book about developing secure and robust systems software.

Tiemoko Ballo 1.1k Jan 9, 2023
Comprehensive DSP graph and synthesis library for developing a modular synthesizer in Rust, such as HexoSynth.

HexoDSP - Comprehensive DSP graph and synthesis library for developing a modular synthesizer in Rust, such as HexoSynth. This project contains the com

Weird Constructor 45 Dec 17, 2022
A modular implementation of timely dataflow in Rust

Timely Dataflow Timely dataflow is a low-latency cyclic dataflow computational model, introduced in the paper Naiad: a timely dataflow system. This pr

Timely Dataflow 2.7k Dec 30, 2022
A learning project/fun experiment in internet protocol

Piper a learning project/fun experiment in internet protocol Version 0.4.0 (SEMVER) Goals Piper is Simple. A page is a page. There are no secondary re

null 13 Oct 27, 2022
My create new project simply (originaly in bash), in rust !

CNPS-Rust CNPS (Create new project simply) is a powerful tool built in Rust that simplifies the process of creating projects in various programming la

Asteroidus 3 Jul 30, 2023
A HashMap/Vector hybrid: efficient, ordered key-value data storage in Rust.

hashvec A HashVec is a hash map / dictionary whose key-value pairs are stored (and can be iterated over) in a fixed order, by default the order in whi

Skye Terran 2 May 16, 2022
An embedded key-value storage for learning purpose, which is based on the idea of SSTable / LSM-tree.

Nouzdb An embedded key-value storage for learning purpose, which is based on the idea of SSTable / LSM-tree. Plan Implement a memtable. Implement the

Nouzan 1 Dec 5, 2021
High concurrency, RealTime, In-memory storage inspired by erlang mnesia

DarkBird is a Document oriented, high concurrency in-memory Storage, also persist data to disk to avoid loss any data The darkbird provides the follow

DanyalMh 25 Dec 15, 2022
A tutorial of building an LSM-Tree storage engine in a week! (WIP)

LSM in a Week Build a simple key-value storage engine in a week! Tutorial The tutorial is available at https://skyzh.github.io/mini-lsm. You can use t

Alex Chi 870 Jan 3, 2023
A simple local storage media library manager.

OFFFLIX A simple application to auto manage series on your local storage. Features Resume watching Play next episode Auto increment season Play random

null 33 Mar 7, 2023
Precio is a Rust library that implements the Precio protocol for computing private layered histograms and sums.

Overview of Precio Precio is a Rust implementation of the protocol described in eprint.iacr.org/2021/1490. The goal of the protocol is to enable an an

Microsoft 9 Aug 16, 2023
Simple and fast proxy checker that include protocol validation;

Open Proxies ⭐️ Leave me a start please ⭐️ it will motivate me to continue maintaining and adding futures About | Technologies | Requirements | Starti

kmoz000 3 Nov 29, 2022
This project contains small exercises to get you used to reading and writing Rust code

rustlings ?? ❤️ Greetings and welcome to rustlings. This project contains small exercises to get you used to reading and writing Rust code. This inclu

Cynthia Tran 1 May 24, 2022
Rust bindings to the Wolfram Symbolic Transport Protocol (WSTP)

wstp Bindings to the Wolfram Symbolic Transfer Protocol (WSTP) library. This crate provides a set of safe and ergonomic bindings to the WSTP library,

Wolfram Research, Inc. 10 Nov 1, 2022
Rust lib for fetching official protoc (Protocol Buffer compiler) releases

protoc-fetcher Rust library for fetching official Protocol Buffer compiler (protoc) releases, pegged to a specific version. protoc-fetcher downloads a

Arcanyx Technical Wizardry LLC 2 Sep 5, 2022
Rust libraries for Bluesky's AT Protocol services. NOT STABLE (yet)

ATrium ATrium is a collection of Rust libraries designed to work with the AT Protocol, providing a versatile and coherent ecosystem for developers. Th

Yoshihiro Sugi 43 Jun 25, 2023
SDK for the Portfolio protocol written in rust.

portfolio-rs Minimalist toolkit for building rust applications on top of the portfolio protocol. Installation [Required] Foundry. Source. If not insta

Primitive 5 Aug 14, 2023
Simple bit-level protocol definitions in Rust.

bin-proto Simple & fast structured bit-level binary co/dec in Rust. An improved and modernized fork of protocol. A more efficient but (slightly) less

null 16 Jun 13, 2024
Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study

Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study

Jason Shin 9 Apr 10, 2022