{"id":26697816,"url":"https://github.com/dd/meringue","last_synced_at":"2026-05-22T02:09:08.730Z","repository":{"id":17805102,"uuid":"20692362","full_name":"dd/Meringue","owner":"dd","description":"A set of various functionality for a Django based web application.","archived":false,"fork":false,"pushed_at":"2025-04-07T01:11:26.000Z","size":4657,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-23T14:11:57.908Z","etag":null,"topics":["django","python","python3"],"latest_commit_sha":null,"homepage":"http://dd.github.io/Meringue/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-06-10T16:15:04.000Z","updated_at":"2025-04-07T01:02:04.000Z","dependencies_parsed_at":"2024-04-09T23:32:51.943Z","dependency_job_id":"85ae1f25-fe37-459c-b287-f78265b4a77d","html_url":"https://github.com/dd/Meringue","commit_stats":{"total_commits":63,"total_committers":4,"mean_commits":15.75,"dds":"0.19047619047619047","last_synced_commit":"934d23da4d38e7eb488a1e3bcd96e010114236cd"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/dd/Meringue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dd%2FMeringue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dd%2FMeringue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dd%2FMeringue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dd%2FMeringue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dd","download_url":"https://codeload.github.com/dd/Meringue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dd%2FMeringue/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268448362,"owners_count":24252019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","python","python3"],"created_at":"2025-03-26T21:30:17.352Z","updated_at":"2026-05-22T02:09:08.722Z","avatar_url":"https://github.com/dd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\" \u003eMeringue\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://pypi.org/project/meringue\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/status/meringue.svg\" alt=\"PyPI - Status\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://pypi.org/project/meringue\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/v/meringue.svg\" alt=\"PyPI - Version\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://pypi.org/project/meringue\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/dm/meringue.svg\" alt=\"PyPI - Downloads\" /\u003e\n\t\u003c/a\u003e\n\t\u003c!-- \u003ca href=\"https://pypi.org/project/meringue\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/frameworkversions/django/meringue.svg\" alt=\"PyPI - Django Framework Version\" /\u003e\n\t\u003c/a\u003e --\u003e\n\t\u003ca href=\"https://pypi.org/project/meringue\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/pyversions/meringue.svg\" alt=\"PyPI - Python Version\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://pypi.org/project/meringue\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/frameworkversions/django/meringue\" alt=\"PyPI - Versions from Framework Classifiers\" /\u003e\n\t\u003c/a\u003e\n\t\u003c!-- \u003ca href=\"https://pypi.org/project/meringue\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/format/meringue.svg\" alt=\"PyPI - Format\" /\u003e\n\t\u003c/a\u003e --\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/dd/Meringue/actions/workflows/mkdocs-release.yml\" \u003e\n\t\t\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/dd/Meringue/mkdocs-release.yml?logo=github\u0026label=docs\" alt=\"Documentation - Release\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://github.com/dd/Meringue/actions/workflows/test.yml\" \u003e\n\t\t\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/dd/Meringue/test.yml?logo=github\u0026label=tests\" alt=\"Tests - Running\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://codecov.io/gh/dd/Meringue\" \u003e\n\t\t\u003cimg src=\"https://codecov.io/gh/dd/Meringue/branch/master/graph/badge.svg?token=HV1QGD74EK\" alt=\"Tests - Coverage\" /\u003e\n\t\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/pypa/hatch\" target=\"_blank\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg\" alt=\"Hatch project\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://gitmoji.dev\" target=\"_blank\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg\" alt=\"Gitmoji\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/-Material_for_MkDocs-526CFE?logo=MaterialForMkDocs\u0026logoColor=white\u0026labelColor=gray\" alt=\"Built with Material for MkDocs\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://github.com/charliermarsh/ruff\" target=\"_blank\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\" alt=\"linting - Ruff\" /\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://github.com/psf/black\" target=\"_blank\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" alt=\"code style - black\" /\u003e\n\t\u003c/a\u003e\n\t\u003c!-- \u003ca href=\"https://github.com/python/mypy\" target=\"_blank\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/types-Mypy-blue.svg\" alt=\"types - Mypy\" /\u003e\n\t\u003c/a\u003e --\u003e\n\t\u003ca href=\"https://raw.githubusercontent.com/dd/Meringue/master/LICENSE\" target=\"_blank\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/l/meringue?cache-cracker\" alt=\"License - Mozilla Public License Version 2.0\" /\u003e\n\t\u003c/a\u003e\n\u003c/p\u003e\n\n\nA package providing various utilities for Django, such as mixins, form tools, upload handlers, and more.\n\nThis library is a collection of reusable components that I frequently use across different projects. Its primary purpose is to clean up and standardize these tools, ensure they are well-tested, and provide clear documentation to make it easy for colleagues to understand and use.\n\nIf you decide to use this in your project, or want to improve the implementation, feel free to reach out by [mail](mailto:dd@tovarisch.engineer), create an [issue](https://github.com/dd/Meringue/issues) or [pull request](https://github.com/dd/Meringue/pulls) on [GitHub](https://github.com/dd/Meringue). Contributions are always welcome!\n\nRead more in the [documentation](https://dd.github.io/Meringue/).\n\n\n## Roadmap\n\nAdding new functionality. Can change.\n\n* [ ] [DRF](https://www.django-rest-framework.org/) serializer for automatic form generation on the frontend via REST API. (An npm package for [Vue.js](https://vuejs.org/) will also be developed to generate forms based on API responses).\n* [ ] Authentication backend for email and password login.\n* [ ] Functionality for working with images.\n\t* [x] Image editor like easy_thumbnails.\n\t* [x] A DRF serializer field that returns a set of images in multiple sizes (e.g., standard and 2x for retina) and formats (e.g., original and WebP).\n\t* [ ] Job chain presets\n\t* [ ] Tests\n\t* [ ] Docs\n* [ ] Similar image-processing functionality but for video.\n* [x] Functionality for loading private files available through [nginx internal](http://nginx.org/en/docs/http/ngx_http_core_module.html#internal).\n\n\n## Contributing\n\n- [x] Use Git Flow (read [here](https://jeffkreeftmeijer.com/git-flow/) and [here](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)) to resolve the versioning\n- [x] Linting with [Ruff](https://github.com/charliermarsh/ruff)\n- [x] Formatting with [Black](https://github.com/psf/black)\n- [x] Lint commit with [Gitlint](https://jorisroovers.com/gitlint/) and [Conventional Commits](https://www.conventionalcommits.org/)\n- [x] Documentation with [mkdocs](https://www.mkdocs.org/) and [mkdocs-material](https://squidfunk.github.io/mkdocs-material/)\n- [x] Testing local with [hatch](https://hatch.pypa.io/1.7/meta/faq/#environments)\n- [x] Testing in CI/CD on push\n- [ ] Add [mypy](https://mypy-lang.org/) ???\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdd%2Fmeringue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdd%2Fmeringue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdd%2Fmeringue/lists"}