{"id":13501904,"url":"https://github.com/ryukinix/decorating","last_synced_at":"2025-04-06T09:07:37.551Z","repository":{"id":62567320,"uuid":"59050035","full_name":"ryukinix/decorating","owner":"ryukinix","description":"decorating: Literally decorating your terminal with decorators","archived":false,"fork":false,"pushed_at":"2017-12-27T10:22:40.000Z","size":125,"stargazers_count":249,"open_issues_count":0,"forks_count":12,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-30T08:07:50.759Z","etag":null,"topics":["animation","decorating","decorators","python","terminal"],"latest_commit_sha":null,"homepage":"http://decorating.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryukinix.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-17T18:52:26.000Z","updated_at":"2024-05-13T02:00:02.000Z","dependencies_parsed_at":"2022-11-03T16:00:57.290Z","dependency_job_id":null,"html_url":"https://github.com/ryukinix/decorating","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryukinix%2Fdecorating","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryukinix%2Fdecorating/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryukinix%2Fdecorating/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryukinix%2Fdecorating/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryukinix","download_url":"https://codeload.github.com/ryukinix/decorating/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247457800,"owners_count":20941906,"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","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":["animation","decorating","decorators","python","terminal"],"created_at":"2024-07-31T22:01:54.817Z","updated_at":"2025-04-06T09:07:37.530Z","avatar_url":"https://github.com/ryukinix.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"Decorating: A Meta Repo To Decorators\n=================\n\n[![Build Status](https://travis-ci.org/ryukinix/decorating.svg?branch=master)](https://travis-ci.org/ryukinix/decorating)\n[![codecov](https://codecov.io/gh/ryukinix/decorating/branch/master/graph/badge.svg)](https://codecov.io/gh/ryukinix/decorating)\n[![Requirements Status](https://requires.io/github/ryukinix/decorating/requirements.svg?branch=master)](https://requires.io/github/ryukinix/decorating/requirements/?branch=master)\n[![PyPi version](https://img.shields.io/pypi/v/decorating.svg)](https://pypi.python.org/pypi/decorating/)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/decorating.svg)](https://pypi.python.org/pypi/decorating/)\n[![PyPI status](https://img.shields.io/pypi/status/decorating.svg)](https://pypi.python.org/pypi/decorating/)\n[![HitCount](https://hitt.herokuapp.com/ryukinix/decorating.svg)](https://github.com/ryukinix/decorating)\n\n# Abstract\n\nThis project encourages an exploration into the limits of decorators\nin `Python`. While decorators might by new to beginners, they are an\nextremely useful feature of the language. They can be similar to Lisp\nMacros, but without changes to the AST. Great decorators from this\npackages are `@animated` and `@writing`. This repository is made from\nscratch, just using Python's Standard Library, no dependency!\n\n\n# Examples\n\n## Animated\n\n*Using as decorator and mixed with context-managers*\n![animation](https://i.imgur.com/hjkNvEE.gif)\n\n*Using with nested context-managers*\n![context-manager](https://i.imgur.com/EeVnDyy.gif)\n\n\n## Writing\n\nAnother project mine called [MAL] uses the decorating package —-\nbasically a command line interface for [MyAnimeList]. The decorator\n@writing can be used by just adding 3 lines of code! The behavior is a\nretro typing-like computer. Check out the awesome effect:\n\n[![asciicast](https://asciinema.org/a/ctt1rozymvsqmeipc1zrqhsxb.png)](https://asciinema.org/a/ctt1rozymvsqmeipc1zrqhsxb)\n\n[MAL]: https://www.github.com/ryukinix/mal\n[MyAnimeList]: https://myanimelist.net/\n\nMore examples are covered on my personal blog post about [decorating](http://manoel.tk/decorating).\n\n# Decorators \u0026 Usage\n\nCurrently public decorators on the API of decorators `decorating`:\n\n* **decorating.debug**\n* **decorating.cache**\n* **decorating.counter**\n* **decorating.count_time**\n* **decorating.animated**\n* **decorating.writing**\n\nMostly decorators has a pretty consistent usage, but for now only `animated`\nand `writing` has support to use as `contextmanagers` using the `with` syntax.\n\n# Installation\n\nSupported Python versions:\n\n* Python3.4+\n* Python2.7\n\nYou can install the last release on [PyPI] by calling:\n\n```shell\npip install --user decorating\n```\n\nIf you want get the last development version install directly by the git\nrepository:\n\n```shell\npip install --user git+https://www.github.com/ryukinix/decorating\n```\n\nWe have a published package on [Arch Linux],which you can install\nusing your favorite AUR Helper, like `pacaur` or `yaourt`:\n\n```shell\nyaourt -S python-decorating\n```\n\n[Arch Linux]: https://aur.archlinux.org/packages/python-decorating/\n[PyPI]: https://pypi.python.org/pypi/decorating/\n\nThough since the version `0.6` we have support for Python2.7, an AUR\npackage for Python2 was not made yet. Fill a issue if you have\ninterest on that :). Thanks to [Maxim Kuznetsov]\nwhich implemented the necessary changes to make compatible with Python2!\n\n[Maxim Kuznetsov]: https://github.com/mkuznets\n\n\n## License\n[![PyPi License](https://img.shields.io/pypi/l/decorating.svg)](https://pypi.python.org/pypi/decorating/)\n\n[MIT](LICENSE)\n\nBecause good things need to be free.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryukinix%2Fdecorating","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryukinix%2Fdecorating","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryukinix%2Fdecorating/lists"}