{"id":13478856,"url":"https://github.com/deanishe/alfred-convert","last_synced_at":"2025-04-04T22:08:49.424Z","repository":{"id":14435002,"uuid":"17146352","full_name":"deanishe/alfred-convert","owner":"deanishe","description":"Convert between different units in Alfred","archived":false,"fork":false,"pushed_at":"2022-07-08T11:05:30.000Z","size":5327,"stargazers_count":725,"open_issues_count":19,"forks_count":55,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-28T21:08:53.736Z","etag":null,"topics":["alfred","alfred-workflow","alfred3","alfred4","alfred4-workflow","conversion","cryptocurrencies","currencies","exchange-rates","offline","pint","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deanishe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-24T18:38:22.000Z","updated_at":"2025-02-04T16:25:04.000Z","dependencies_parsed_at":"2022-07-16T18:46:17.255Z","dependency_job_id":null,"html_url":"https://github.com/deanishe/alfred-convert","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deanishe%2Falfred-convert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deanishe%2Falfred-convert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deanishe%2Falfred-convert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deanishe%2Falfred-convert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deanishe","download_url":"https://codeload.github.com/deanishe/alfred-convert/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256115,"owners_count":20909240,"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":["alfred","alfred-workflow","alfred3","alfred4","alfred4-workflow","conversion","cryptocurrencies","currencies","exchange-rates","offline","pint","python"],"created_at":"2024-07-31T16:02:04.576Z","updated_at":"2025-04-04T22:08:49.405Z","avatar_url":"https://github.com/deanishe.png","language":"Python","funding_links":[],"categories":["Python","Utility","Scientific"],"sub_categories":[],"readme":"\nAlfred-Convert\n==============\n\nConvert between different units offline in [Alfred 3 \u0026 4][alfred].\n\n![][demo]\n\nAlfred-Convert uses a [built-in library][pintdocs] for lightning-fast conversions.\n\nYou can also add your own custom units.\n\n**Note:** Currency conversions do require occasional Internet connectivity to update exchange rates. Alfred-Convert will otherwise work just fine without an Internet connection.\n\n\u003c!-- MarkdownTOC autolink=\"true\" bracket=\"round\" depth=\"2\" autoanchor=\"true\" --\u003e\n\n- [Downloading](#downloading)\n- [Usage](#usage)\n  - [Conversions](#conversions)\n  - [Configuration](#configuration)\n    - [Configuration sheet](#configuration-sheet)\n    - [Active currencies](#active-currencies)\n    - [Custom units](#custom-units)\n- [Supported units](#supported-units)\n  - [Supported currencies](#supported-currencies)\n  - [Adding custom units](#adding-custom-units)\n- [Releases](#releases)\n- [Thanks, copyright, licensing](#thanks-copyright-licensing)\n\n\u003c!-- /MarkdownTOC --\u003e\n\n\n\u003ca name=\"downloading\"\u003e\u003c/a\u003e\nDownloading\n-----------\n\nDownload from [GitHub releases][ghreleases].\n\n**Note**: Version 3.7 and above only supports Alfred 4+. If you're still using Alfred 3, please download [v3.6.2][v3.6.2].\n\n\n\u003ca name=\"usage\"\u003e\u003c/a\u003e\nUsage\n-----\n\n- `conv \u003cquantity\u003e \u003cfrom unit\u003e [\u003cto unit\u003e]` — Perform a conversion\n    - `↩` — Copy result without thousands separator to pasteboard\n    - `⌘C` — Copy result with thousands separator to pasteboard\n    - `⌘↩` — Add/remove destination unit as default for this dimensionality\n    - `⌘L` — Show result in Alfred's Large Type window\n- `convinfo` — View help file and information about the workflow, or edit custom units and active currencies\n    - `View Help File` — Open this page in your browser\n    - `View All Supported Currencies` — View/filter the list of all supported currencies in Alfred\n    - `Edit Active Currencies` — Edit the list of active currencies in your default text editor\n    - `Edit Custom Units` — Edit the list of custom currencies in your default text editor\n\n\n\u003ca name=\"conversions\"\u003e\u003c/a\u003e\n### Conversions ###\n\n**NOTE**: Only a limited number of fiat currencies are supported by default. Additional rates are only supported if you set a key for the [openexchangerates.org][openx] API in the workflow's [configuration sheet](#configuration). You can sign up for a free account [here][openx-free]. When you're signed up, copy the **App ID** from the email you receive or [this page][openx-appid] into the `APP_KEY` field in the [configuration sheet](#configuration).\n\n- `conv [\u003ccontext\u003e] \u003cquantity\u003e \u003cfrom unit\u003e [\u003cto unit\u003e]` — Perform a conversion\n    - `↩` or `⌘C` — Copy the result to the pasteboard\n    - `⌘↩` — Add/remove destination unit as default for this dimensionality\n    - `⌘L` — Show result in Alfred's Large Type window\n\nIf no destination unit is specified, any defaults you've saved will be used (that aren't the same as the source unit).\n\nThe syntax is simple: an optional context, the quantity, the unit you want to convert from then (optionally) the unit you want to convert to. For example:\n\n- `conv 128 mph kph`\n- `conv 72in cm`\n- `conv 100psi bar`\n- `conv 20.5 m/s mph`\n- `conv 100 eur gbp`\n\nOr with a context:\n\n- `conv spectroscopy 1Å eV` (or `conv sp 1Å eV`)\n\nIt doesn't matter if there is a space between the quantity and the units or not. Alfred-Convert will tell you if it doesn't understand your query or know the units.\n\nActioning an item (selecting it and hitting `↩`) will copy it to the clipboard. Using `⌘+L` will display the result in Alfred's large text window, `⌘+C` will copy the selected result to the clipboard.\n\n\n\u003ca name=\"configuration\"\u003e\u003c/a\u003e\n### Configuration ###\n\nThe workflow is configured via the [configuration sheet][config-sheet] (the `[𝒙]` icon) in Alfred Preferences and via a couple of text files in its data directory.\n\n\n#### Configuration sheet ####\n\nBasic configuration is performed in the [configuration sheet][config-sheet]:\n\n|           Option          |                                                                    Meaning                                                                    |\n|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n| `APP_KEY`                 | API key for [openexchangerates.org][openx].                                                                                                   |\n| `COPY_UNIT`               | Include unit when copying conversion result. Any value but `0` or empty turns this option on.                                                 |\n| `CURRENCY_DECIMAL_PLACES` | Overrides the default `DECIMAL_PLACES` setting for currency conversions.                                                                      |\n| `DECIMAL_PLACES`          | Number of decimal places to show in results.                                                                                                  |\n| `DECIMAL_SEPARATOR`       | Character to separate whole numbers and decimal fractions. Used for parsing input and generating output.                                      |\n| `DYNAMIC_DECIMALS`        | Dynamically increase the number of decimal places (up to 10) so that the result is non-zero. Any value but `0` or empty turns this option on. |\n| `THOUSANDS_SEPARATOR`     | Character to delimit thousands Used for parsing input and generating output.                                                                  |\n| `UPDATE_INTERVAL`         | How often (in minutes) to update currency exchange rates.                                                                                     |\n\n\n#### Active currencies ####\n\nBy default, all supported fiat currencies (provided you've set `APP_KEY` in the [configuration sheet](#configuration)) and a handful of the most popular cryptocurrencies are active.\n\n- `convinfo`\n    - `View All Supported Currencies`\n    - `Edit Active Currencies`\n\nUse `Edit Active Currencies` to open the list of active currencies in your default editor. Add the symbol for the currency you'd like to activate on a new line in this file.\n\nYou can use `View All Supported Currencies` to search for the currency you'd like to activate, then use `⌘C` on the result to copy the symbol to the pasteboard.\n\n\n#### Custom units ####\n\nSee [Adding custom units](#adding-custom-units).\n\n\n\u003ca name=\"supported-units\"\u003e\u003c/a\u003e\nSupported units\n---------------\n\nCurrently, Alfred-Convert only supports [the units][pintunits] understood by the underlying [Pint][pintdocs] library plus [currencies](#supported-currencies) and a handful of additional units.\n\nYou can [add your own custom units](#adding-custom-units) to the workflow. If you think they'd be useful to everyone, please create a corresponding [GitHub issue][ghissues] to request addition as a default unit or submit a [pull request][ghpulls].\n\n\n\u003ca name=\"supported-currencies\"\u003e\u003c/a\u003e\n### Supported currencies ###\n\nTo convert, use the appropriate **abbreviation** for the relevant currencies, e.g. `conv 100 eur gbp`.\n\nYou can also view (and search) the list from within Alfred by using the keyword `convinfo` and choosing `View All Supported Currencies`.\n\n[All supported currencies](./docs/currencies.md).\n\n\n\u003ca name=\"adding-custom-units\"\u003e\u003c/a\u003e\n### Adding custom units ###\n\nYou can add your own custom units using the [format defined by Pint][pinthowto]. Add your definitions to the `unit_definitions.txt` file in the workflow's data directory.\n\nTo edit this file, enter `convinfo` in Alfred and select `Edit Custom Units`. The `unit_definitions.txt` file will open in your default text editor.\n\nPlease see the [Pint documentation][pinthowto] for the required format. See Pint's [default unit definitions][pintunits] for examples.\n\n\n\u003ca name=\"releases\"\u003e\u003c/a\u003e\nReleases\n--------\n\nSee [CHANGELOG][changelog] for more information.\n\n|     Release     |      Date      |\n|-----------------|----------------|\n| [3.7.0][v3.7.0] | 2020-02-20     |\n| [3.6.2][v3.6.2] | 2019-09-06     |\n| [3.6.1][v3.6.1] | 2019-05-30     |\n| [3.6.0][v3.6.0] | 2019-05-06     |\n| [3.5.3][v3.5.3] | 2019-01-26     |\n| [3.5.2][v3.5.2] | 2019-01-26     |\n| [3.5.1][v3.5.1] | 2018-01-13     |\n| [3.5][v3.5]     | 2018-01-12     |\n| [3.4][v3.4]     | 2017-12-26     |\n| [3.3.1][v3.3.1] | 2017-11-21     |\n| [3.3][v3.3]     | 2017-11-20     |\n| [3.2.2][v3.2.2] | 2017-11-07     |\n| [3.2.1][v3.2.1] | 2017-11-04     |\n| [3.2][v3.2]     | 2017-11-02     |\n| [3.1][v3.1]     | 2017-11-02     |\n| [3.0][v3.0]     | 2017-07-16     |\n| [2.6][v2.6]     | 2017-06-15     |\n| [2.5][v2.5]     | 2015-12-11     |\n| [2.4][v2.4]     | 2015-11-28     |\n| [2.3][v2.3]     | 2015-11-26     |\n| [2.2][v2.2]     | 2015-07-16     |\n| 2.1             | Never released |\n| [2.0][v2.0]     | 2014-12-26     |\n| [1.2][v1.2]     | 2014-08-19     |\n| [1.1][v1.1]     | 2014-08-09     |\n\n\n\u003ca name=\"thanks-copyright-licensing\"\u003e\u003c/a\u003e\nThanks, copyright, licensing\n----------------------------\n\n- The Python [Pint][pintdocs] library does all the heavy lifting. See the [Pint GitHub repo][pintrepo] for Pint licensing or `LICENSE.txt` and `AUTHORS.txt` in the `pint` subdirectory.\n- The workflow icons are from [Font Awesome][fontawesome]\n- Exchange rates are downloaded from [openexchangerates.org][openx] and [CryptoCompare][cryptocompare] (for cryptocurrencies).\n- The [Alfred-Workflow][alfred-workflow] library is used heavily.\n\nAll other code/media are released under the [MIT Licence][mit].\n\n\n[alfred-workflow]: http://www.deanishe.net/alfred-workflow/\n[alfred]: http://www.alfredapp.com/\n[changelog]: ./CHANGELOG.md\n[demo]: https://raw.github.com/deanishe/alfred-convert/master/demo.gif\n[fontawesome]: http://fortawesome.github.io/Font-Awesome/\n[ghissues]: https://github.com/deanishe/alfred-convert/issues\n[ghpulls]: https://github.com/deanishe/alfred-convert/pulls\n[ghreleases]: https://github.com/deanishe/alfred-convert/releases\n[mit]: http://opensource.org/licenses/MIT\n[pintdocs]: http://pint.readthedocs.org/en/latest/index.html\n[pinthowto]: http://pint.readthedocs.org/en/latest/defining.html\n[pintrepo]: https://github.com/hgrecco/pint\n[pintunits]: https://github.com/hgrecco/pint/blob/master/pint/default_en.txt\n[v1.1]: https://github.com/deanishe/alfred-convert/releases/tag/v1.1\n[v1.2]: https://github.com/deanishe/alfred-convert/releases/tag/v1.2\n[v2.0]: https://github.com/deanishe/alfred-convert/releases/tag/v2.0\n[v2.2.1]: https://github.com/deanishe/alfred-convert/releases/tag/v2.2.1\n[v2.2]: https://github.com/deanishe/alfred-convert/releases/tag/v2.2\n[v2.3]: https://github.com/deanishe/alfred-convert/releases/tag/v2.3\n[v2.4]: https://github.com/deanishe/alfred-convert/releases/tag/v2.4\n[v2.5]: https://github.com/deanishe/alfred-convert/releases/tag/v2.5\n[v2.6]: https://github.com/deanishe/alfred-convert/releases/tag/v2.6\n[v3.0]: https://github.com/deanishe/alfred-convert/releases/tag/v3.0\n[v3.1]: https://github.com/deanishe/alfred-convert/releases/tag/v3.1\n[v3.2]: https://github.com/deanishe/alfred-convert/releases/tag/v3.2\n[v3.2.1]: https://github.com/deanishe/alfred-convert/releases/tag/v3.2.1\n[v3.2.2]: https://github.com/deanishe/alfred-convert/releases/tag/v3.2.2\n[v3.3]: https://github.com/deanishe/alfred-convert/releases/tag/v3.3\n[v3.3.1]: https://github.com/deanishe/alfred-convert/releases/tag/v3.3.1\n[v3.4]: https://github.com/deanishe/alfred-convert/releases/tag/v3.4\n[v3.5]: https://github.com/deanishe/alfred-convert/releases/tag/v3.5\n[v3.5.1]: https://github.com/deanishe/alfred-convert/releases/tag/v3.5.1\n[v3.5.2]: https://github.com/deanishe/alfred-convert/releases/tag/v3.5.2\n[v3.5.3]: https://github.com/deanishe/alfred-convert/releases/tag/v3.5.3\n[v3.6.0]: https://github.com/deanishe/alfred-convert/releases/tag/v3.6.0\n[v3.6.1]: https://github.com/deanishe/alfred-convert/releases/tag/v3.6.1\n[v3.6.2]: https://github.com/deanishe/alfred-convert/releases/tag/v3.6.2\n[v3.7.0]: https://github.com/deanishe/alfred-convert/releases/tag/v3.7.0\n[cryptocompare]: https://www.cryptocompare.com/\n[openx]: https://openexchangerates.org/\n[openx-free]: https://openexchangerates.org/signup/free\n[openx-appid]: https://openexchangerates.org/account/app-ids\n[config-sheet]: https://www.alfredapp.com/help/workflows/advanced/variables/#environment\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeanishe%2Falfred-convert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeanishe%2Falfred-convert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeanishe%2Falfred-convert/lists"}