Skip to main content

Add your description here

Project description

Fuso

uv Ruff License: MIT Python Version PyPI Version Read the Docs

fuso comes from the Italian word fusione, which translates to fusion. This is exactly what this library does; it creates a fusion between two dictionaries.

The goal of this library is to offer a customizable way of deeply merging dictionaries. In its simplest form, fuso offers an experience like other well-established dictionary merging libraries such as deepmerge, mergedeep.

However, where this library differs is that it allows the user to specify custom merge_functions that should be applied for specific dot paths.

For example, you may want to concatenate lists found at the dot path settings.plugins, but for other lists, you may want to replace them entirely. With fuso, this is possible.

Installation

You can install fuso via pip:

pip install fuso

Usage

Here's a basic example of how to use fuso to merge two dictionaries:

from fuso import merge

dict1 = {
    "settings": {
        "theme": "dark",
        "plugins": ["plugin1", "plugin2"]
    }
}
dict2 = {
    "settings": {
        "plugins": ["plugin3"],
        "language": "en"
    }
}
merged_dict = merge(dict1, dict2)
print(merged_dict)
# {
#    "settings": {
#      "theme": "dark",
#      "plugins": ["plugin1", "plugin2", "plugin3"],
#      "language": "en"
# }

Documentation

For more detailed documentation, including advanced usage and customization options, please visit the official documentation.

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests on the GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fuso-0.1.4.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fuso-0.1.4-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file fuso-0.1.4.tar.gz.

File metadata

  • Download URL: fuso-0.1.4.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fuso-0.1.4.tar.gz
Algorithm Hash digest
SHA256 4d852c4bb458d4871e0e8c47b79ba4c085d744a601c782e517ebf999dae844a9
MD5 afc924f3bb6dc9812246f4c006c60450
BLAKE2b-256 996d030d0249b1a549c7fcd131d2ae70d0f27e67d5e0d26bc6a3ca161cff9406

See more details on using hashes here.

File details

Details for the file fuso-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: fuso-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fuso-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4cf4dfd17d8a1405c61ed55bbe0c79fbfc71d73e65e5e7fc969d3f9ce330b4c5
MD5 6850e0d6cbd958d4f5887639a943280c
BLAKE2b-256 8b5bee23600b8fc4cb2e6d26c35deca2e6a04b2502c00977c527464ac965c059

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page