{"id":13779092,"url":"https://github.com/walkjivefly/LOC-Extension","last_synced_at":"2025-05-11T12:32:43.637Z","repository":{"id":78827974,"uuid":"102915593","full_name":"walkjivefly/LOC-Extension","owner":"walkjivefly","description":"LibreOffice Cryptocurrency extension","archived":false,"fork":false,"pushed_at":"2024-01-08T19:22:23.000Z","size":849,"stargazers_count":38,"open_issues_count":8,"forks_count":14,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-17T14:41:20.649Z","etag":null,"topics":["altcoin","bitcoin","calc","crypto","cryptocurrency","ethereum","exchange","extension","libreoffice","libreoffice-extension","lookup","ticker"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/walkjivefly.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":null}},"created_at":"2017-09-09T00:42:32.000Z","updated_at":"2024-11-15T18:17:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"e3615700-3b23-4088-ba4f-a20805c6618d","html_url":"https://github.com/walkjivefly/LOC-Extension","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walkjivefly%2FLOC-Extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walkjivefly%2FLOC-Extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walkjivefly%2FLOC-Extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walkjivefly%2FLOC-Extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/walkjivefly","download_url":"https://codeload.github.com/walkjivefly/LOC-Extension/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253567240,"owners_count":21928803,"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":["altcoin","bitcoin","calc","crypto","cryptocurrency","ethereum","exchange","extension","libreoffice","libreoffice-extension","lookup","ticker"],"created_at":"2024-08-03T18:01:00.960Z","updated_at":"2025-05-11T12:32:43.321Z","avatar_url":"https://github.com/walkjivefly.png","language":"Python","funding_links":[],"categories":["Other"],"sub_categories":[],"readme":"LOC-Extension: LibreOffice calc Cryptocurrency market functions\n===\nThe LOC extension allows you to create customized spreadsheets with cryptocurrency market data directly from the web. This version (0.2.3) provides 2 lookup functions: a dedicated getPoloniex() (for compatibility with version 0.1.0) and a generic ccxt() which uses an embedded snapshot of the amazing [ccxt](https://github.com/ccxt/ccxt) library. This means over 90 exchanges are now supported.\n\n### Download   \nYou can download the current version of the LOC Extension here [0.2.3](https://github.com/walkjivefly/LOC-Extension/releases/tag/v0.2.3)\n\nThe LOC extension is also available from the [LibreOffice Extension Center](https://extensions.libreoffice.org/extensions/loc-extension-for-libreoffice-calc).\n\n**NOTE**: The extension itself is LOC.oxt.  The example .ods worksheet demonstrates how to use the extension.\n\n### Usage\n\nThe LOC Extension adds two new functions to Calc. The first is:  \n```\nGETPOLONIEX(Ticker,Datacode) \n```  \n\nQuotes **must** be used when entering the ticker directly ex: ```GETPOLONIEX(\"BTC_ETH\",\"last\")```, but are **not** needed when referencing another cell ex: ```GETPOLONIEX(A1,A2)```.\n\nIn the latter case the data in A1 should be ```BTC_ETH```, not ```\"BTC_ETH\"```.\n\n**NOTE**: The full set of datacodes are demonstrated in the example .ods worksheet included with the release. The worksheet also contains a full list of the available symbols/currency-pairs.\n\nThe second new function is:\n```\nCCXT(Exchange, Ticker, Datacode)\n```\n\nExchange is any exchange name supported by the embedded ccxt snapshot (version 1.9.262). Quotes **must** be used according to the same rules as for GETPOLONIEX().\n\nTicker is a currency pair from the ccxt unified API.\n**NOTE**: The format of the ticker is different from that for GETPOLONIEX(). The valid values depend on the exchange being addressed. They are generally coin/coin, eg: ETH/BTC when buying/selling ETH and paying/getting paid in BTC.\n\nDatacode is one of the ccxt supported data items for the fetch_ticker function. The one you'll probably use most is \"last\".\n\n### Performance \n\nv0.2.3 introduces caching for some of the ccxt supported exchanges. This relies on the ccxt load_markets() function downloading data for every ticker combination supported by the exchange. The cached information is then used for every subsequent lookup for that exchange. If you're pulling the prices for many tickers and you have a slow internet connection this provides a very substantial, very worthwhile, performance improvement after the first fetch. \n\nThe exchanges which provide caching are bitmex, coinmarketcap, gatecoin, lakebtc, livecoin, luno, nova, poloniex, qryptos, quoine, therock and vaultoro.\n\nIf you bought coins from, or store coins on (NOT recommnded), multiple exchanges and you have less than stellar internet performance you might want to consider getting price information from a single caching exchange if it carries all of your coins. If no one caching exchange carries all of your coins then consider getting data from Coinmarketcap if performance is more important than up to the minute accuracy.\n\n### Coinmarketcap  (Updated 27 November 2018)\n\nCoinmarketcap plan to deprecate their \"public\" API on 4 December 2018. They have released a tiered \"professional\" API replacement. This has various levels of functionality/price points, including a free \"basic\" level. None of the levels provide identical functionality to the deprecated API. \n\nAfter they make the switch, LOC-Extension will no longer be able to pull data from Coinmarketcap. \n\n~~Coinmarketcap is supported by ccxt but it is not a regular exchange; it is an aggregator. It works slightly differently to a regular exchange. It doesn't provide coin/coin tickers. Instead, it provides coin/fiat tickers for 15 supported fiat currencies (AUD, BRL, CAD, CHF, CNY, EUR, GBP, HKD, IDR, INR, JPY, KRW, MXN, RUB, and USD). In addition it provides some special data like total market cap in USD and bitcoin crypto-currency market percentage dominance. These are accessed using a special ticker, \"GLOBAL\", and datacode items \"market_cap\" and \"dominance\". Further, there are 2 special data items for each coin: market cap in USD, and rank. These are accessed from the coin/USD ticker with datacodes \"market_cap_usd\" and \"rank\". Since the data is aggregated from multiple exchanges and not real-time this is one of the sources which uses caching. If you just want a reasonable approximation of the current value of each coin in your portfolio then coinmarketcap is the quickest way to get it via the LOC-Extension. **Coinmarketcap is a bit of a work-in-progress and right now returns cached data from the markets info field, the contents and labels of which are not the same as in the fetch_ticker() function. So right now instead of using \"last\" for the price it is necessary to use \"price_btc\" or \"price_usd\".**~~\n\n### Windows users\n\nAt the present time v[0.2.2](https://github.com/walkjivefly/LOC-Extension/tree/v0.2.2) is the only version recommended for Windows users. This is because some have experienced problems installing v0.2.0. LOC-Extension includes some logging which worked on the test Windows (7) machine I had access to but which is incompatible with (at least some) other machines. I do not currently have access to a Windows (any version) machine for testing.\n\nWindows users are **STRONGLY** recommended to make a system snapshot before installing this or any other LibreOffice extension. Then when it goes horribly wrong you'll have a much simpler time recovering.\n \n### Upgrading\n\nThe LibreOffice extension mechanism is poorly documented and extremely fragile. It is **STRONGLY** recommended that you remove the previous version of LOC-Extension before adding this one. If you use the replace option you might or might not end up with indecipherable error messages or an unusable extension. \n\nLibreOffice does not handle extension files with spaces in the names well. The spaces usually end up being there because your browser renames files to things like \"LOC (1).oxt\" if there is already a (previous) version in your download directory. If you attempt to install/upgrade using such a file the process will fail and leave the extension in an inconsistent state: it won't appear in the installed extensions list but if you try to install the same version again it will say it is already installed. Take care to remove previous downloads before downloading the latest extension, or to rename it after downloading and remove any spaces from the filename. See bug [114708](https://bugs.documentfoundation.org/show_bug.cgi?id=114708)\n\nIf you/LibreOffice really screw things up I recommend closing LibreOffice, renaming the entire customisation directory (~/.config/libreoffice/4 on linux), restarting it and re-installing (all) your extensions. \n\nRecovering from a messed-up extension installation/upgrade is much harder for Windows users. Really, make a system snapshot before installing or upgrading any LibreOffice extension. \n\n### Dependencies\n\nLOC-Extension is fully standalone. It includes an embedded snapshot of Igor Kroitor's [ccxt](http://github.com/ccxt/ccxt). \n\n### Support\n\nFor general support please visit the [forums](http://forum.openoffice.org/en/forum/index.php). If you find a bug or wish to request a feature please file an issue at the [issue tracker](http://github.com/walkjivefly/LOC-Extension/issues).\n\n### Contribute\n\nHelp is always welcome with development.  If you would like to contribute you will need to fork the main repo, make your changes, and send a [pull request](http://github.com/walkjivefly/LOC-Extension/pulls) to have your changes moderated and merged back into the main repo. Details on that process can be found [here](https://help.github.com/articles/set-up-git/).  \n\n\n### License\n\nThe LOC Extension is released under the [![][shield:LGPL3]][License:3.0] which in layman's terms means:  \n\n* You are permitted to use, copy and redistribute the work \"as-is\".\n* You may adapt, remix, transform and build upon the material, releasing any derivatives under your own name.\n* You may use the material for commercial purposes as long as the derivative is licenced under the GPL.\n* You must track changes you make in the source files.\n* You must include or make available the source code with your release.\n\nccxt is released under the MIT license.\n\n### Warranty\n\nThere is **NO** warranty of any kind. You use the software entirely at your own risk. I am not responsible if anything goes wrong.\n\n### Other Contributors and Thanks!\n* madsailor - provided the original SMF Extension that LOC is based on\n* Igor Kroitor - actively maintains the [ccxt](https://github.com/ccxt/ccxt) library\n\n### Donate\n\nIf you find the extension useful and feel like throwing some coins my way, please use one of these addresses:\n\n* LTC: MDH8P4XcaZEwrX7PrQVxag4matzHmmjnVa\n\n[GIT:release]: http://github.com/walkjivefly/LOC-Extension/releases/latest\n[License:3.0]: http://www.gnu.org/licenses/lgpl.html\n[shield:LGPL3]: http://img.shields.io/badge/license-LGPL%20v.3-blue.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalkjivefly%2FLOC-Extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwalkjivefly%2FLOC-Extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalkjivefly%2FLOC-Extension/lists"}