Before you can build this project, you must install and configure the following dependencies on your machine:
Node.js: We use Node to run a development web server and build the project.
Depending on your system, you can install Node either from source or as a pre-packaged bundle.
Yarn: We use Yarn to manage Node dependencies.
Depending on your system, you can install Yarn either from source or as a pre-packaged bundle.
After installing Node, you should be able to run the following command to install development tools.
You will only need to run this command when dependencies change in package.json.
yarn install
We use yarn scripts and Webpack as our build system.
Run the following commands in two separate terminals to create a blissful development experience where your browser
auto-refreshes when files change on your hard drive.
./mvnw
yarn start
Yarn is also used to manage CSS and JavaScript dependencies used in this application. You can upgrade dependencies by
specifying a newer version in package.json. You can also run yarn update and yarn install to manage dependencies.
Add the help flag on any command to see how you can use it. For example, yarn help update.
The yarn run command will list all of the scripts available to run for this project.
Service workers
Service workers are commented by default, to enable them please uncomment the following code.
The service worker registering script in index.html
Note: workbox creates the respective service worker and dynamically generate the service-worker.js
Managing dependencies
For example, to add Leaflet library as a runtime dependency of your application, you would run following command:
yarn add --exact leaflet
To benefit from TypeScript type definitions from DefinitelyTyped repository in development, you would run following command:
yarn add --dev --exact @types/leaflet
Then you would import the JS and CSS files specified in library’s installation instructions so that Webpack knows about them:
Edit src/main/webapp/app/vendor.ts file:
To optimize the prefWebApp application for production, run:
./mvnw -Pprod clean package
This will concatenate and minify the client CSS and JavaScript files. It will also modify index.html so it references these new files.
To ensure everything worked, run:
UI end-to-end tests are powered by Protractor, which is built on top of WebDriverJS. They’re located in src/test/javascript/e2e
and can be run by starting Spring Boot in one terminal (./mvnw spring-boot:run) and running the tests (yarn run e2e) in a second one.
You can use Docker to improve your JHipster development experience. A number of docker-compose configuration are available in the src/main/docker folder to launch required third party services.
For example, to start a mysql database in a docker container, run:
docker-compose -f src/main/docker/mysql.yml up -d
To stop it and remove the container, run:
docker-compose -f src/main/docker/mysql.yml down
You can also fully dockerize your application and all the services that it depends on.
To achieve this, first build a docker image of your app by running:
For more information refer to Using Docker and Docker-Compose, this page also contains information on the docker-compose sub-generator (jhipster docker-compose), which is able to generate docker configurations for one or several JHipster applications.
Continuous Integration (optional)
To configure CI for your project, run the ci-cd sub-generator (jhipster ci-cd), this will let you generate configuration files for a number of Continuous Integration systems. Consult the Setting up Continuous Integration page for more information.
This plugin is currently in its alpha stage, so please let me know if you experience any issues!
Motivation
notify-diagnostics is a Neovim plugin that displays LSP diagnostics with nvim-notify.
The prime motivation for this plugin is the fact that the inline “virtual-text” display of the built-in LSP diagnostics sometimes exceeds the available screenwidth of your screen, thus making part of the message illegible. Like so:
With notify-diagnostics the message is not only fully legible, but also nicely displayed:
Configuration
The plugin can be configured in several ways.
Functionality
You can configure which diagnostics are displayed (e.g. only errors).
You can exclude certain error codes (e.g. E501 – line too long).
You can determine which events (e.g. BufWritePost) trigger a notification refresh.
You can set a timeout for the notication to
Appearance
You can make use of the layout options for nvim-notify to determine:
notification title
rendering style (e.g. minimal)
animation (e.g. slide)
timeout
See below “default settings”, for the full list of options and/or consult h: notify.Options.
Installation
(Be advised that this plugin needs rcarriga/nvim-notify to be installed.
I was annoyed with the way the Exodus team had auto-updaters for Mac and Windows but not for Ubuntu. So I wrote my own. It may be a bit kludgy, but it works.Probably the best way to implement this is to store it in a scripts folder and add it to your crontab for daily execution.
The command-line interface supports the following options.
usage: exodus [-h] [-c CHROOT_PATH] [-a DEPENDENCY] [-d] [--no-symlink FILE]
[-o OUTPUT_FILE] [-q] [-r [NEW_NAME]] [--shell-launchers] [-t]
[-v]
EXECUTABLE [EXECUTABLE ...]
Bundle ELF binary executables with all of their runtime dependencies so that
they can be relocated to other systems with incompatible system libraries.
positional arguments:
EXECUTABLE One or more ELF executables to include in the exodus
bundle.
optional arguments:
-h, --help show this help message and exit
-c CHROOT_PATH, --chroot CHROOT_PATH
A directory that will be treated as the root during
linking. Useful for testing and bundling extracted
packages that won't run without a chroot. (default:
None)
-a DEPENDENCY, --add DEPENDENCY, --additional-file DEPENDENCY
Specifies an additional file to include in the bundle,
useful for adding programatically loaded libraries and
other non-library dependencies. The argument can be
used more than once to include multiple files, and
directories will be included recursively. (default:
[])
-d, --detect Attempt to autodetect direct dependencies using the
system package manager. Operating system support is
limited. (default: False)
--no-symlink FILE Signifies that a file must not be symlinked to the
deduplicated data directory. This is useful if a file
looks for other resources based on paths relative its
own location. This is enabled by default for
executables. (default: [])
-o OUTPUT_FILE, --output OUTPUT_FILE
The file where the bundle will be written out to. The
extension depends on the output type. The
"{{executables}}" and "{{extension}}" template strings
can be used in the provided filename. If omitted, the
output will go to stdout when it is being piped, or to
"./exodus-{{executables}}-bundle.{{extension}}"
otherwise. (default: None)
-q, --quiet Suppress warning messages. (default: False)
-r [NEW_NAME], --rename [NEW_NAME]
Renames the binary executable(s) before packaging. The
order of rename tags must match the order of
positional executable arguments. (default: [])
--shell-launchers Force the use of shell launchers instead of attempting
to compile statically linked ones. (default: False)
-t, --tarball Creates a tarball for manual extraction instead of an
installation script. Note that this will change the
output extension from ".sh" to ".tgz". (default:
False)
-v, --verbose Output additional informational messages. (default:
False)
Backers
Contributing
Contributions are welcome, but please follow these contributor guidelines outlined in CONTRIBUTING.md.
Get the current price of any cryptocurrency in any other currency.
price(fsym, tsyms[, options])
fsym (String) From Symbol
tsyms (Array of Strings | String) To Symbol(s)
options (Object)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
exchanges (Array of Strings | Array) Exchanges to get price data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
constcc=require('cryptocompare')cc.setApiKey('<your-api-key>')// Basic Usage:cc.price('BTC',['USD','EUR']).then(prices=>{console.log(prices)// -> { USD: 1100.24, EUR: 1039.63 }}).catch(console.error)// Passing a single pair of currencies:cc.price('BTC','USD').then(prices=>{console.log(prices)// -> { USD: 1100.24 }}).catch(console.error)
priceMulti()
Works like price(), except it allows you to specify a matrix of From Symbols.
priceMulti(fsyms, tsyms[, options])
fsyms (Array of Strings | String) From Symbol(s)
tsyms (Array of Strings | String) To Symbol(s)
options (Object)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
exchanges (Array of Strings | Array) Exchanges to get price data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Get all the current trading info (price, vol, open, high, low, etc.) of any list of cryptocurrencies in any other currency.
priceFull(fsyms, tsyms[, options])
fsyms (Array of Strings | String) From Symbol(s)
tsyms (Array of Strings | String) To Symbol(s)
options (Object)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
exchanges (Array of Strings | Array) Exchanges to get price data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Get the price of any cryptocurrency in any other currency at a given timestamp. The price comes from the daily info – so it would be the price at the end of the day GMT based on the requested timestamp.
priceHistorical(fsym, tsyms, time[, options])
fsym (String) From Symbol
tsyms (Array of Strings | String) To Symbol(s)
time (Date) Date in history that you want price data for
options (Object)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
exchanges (Array of Strings | Array) Exchanges to get price data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Compute the current trading info (price, vol, open, high, low etc) of the requested pair as a volume weighted average based on the markets requested.
generateAvg(fsym, tsym, markets[, tryConversion])
fsym (String) From Symbol
tsym (String) To Symbol
markets (Array) Array of markets to base the average on. (You can get a list of top exchanges for a given pair with topExchanges().)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
Get full data on top exchanges by volume for a currency pair.
topExchangesFull(fsym, tsym[, limit])
fsym (String) From Symbol
tsym (String) To Symbol
limit (Number) Limit the number of exchanges you receive (default 5).
histoDay()
Get open, high, low, close, volumefrom and volumeto from the daily historical data. The values are based on 00:00 GMT time.
histoDay(fsym, tsym[, options])
fsym (String) From Symbol
tsym (String) To Symbol
options (Object)
aggregate (Number) Number of data points to aggregate.
aggregatePredictableTimePeriods (Boolean) Generate predictable time periods.
allData (Boolean) Returns all data.
toTs (Number) Last unix timestamp to return data for.
limit (Number | 'none') Limit the number of days to lookup. Default is 30. If you set it to the string 'none', you will get all available data.
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
timestamp (Date) By default, histoDay() gets historical data for the past several days. Use the timestamp option to set a historical start point.
exchange (String) Exchange to get history data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Get open, high, low, close, volumefrom and volumeto from the hourly historical data.
histoHour(fsym, tsym[, options])
fsym (String) From Symbol
tsym (String) To Symbol
options (Object)
aggregate (Number) Number of data points to aggregate.
aggregatePredictableTimePeriods (Boolean) Generate predictable time periods.
toTs (Number) Last unix timestamp to return data for
limit (Number) Limit the number of hours to lookup. Default is 168.
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
timestamp (Date) By default, histoHour() gets historical data for the past several hours. Use the timestamp option to set a historical start point.
exchange (String) Exchange to get history data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Get open, high, low, close, volumefrom and volumeto from the minute-by-minute historical data.
histoMinute(fsym, tsym[, options])
fsym (String) From Symbol
tsym (String) To Symbol
options (Object)
aggregate (Number) Number of data points to aggregate.
aggregatePredictableTimePeriods (Boolean) Generate predictable time periods.
toTs (Number) Last unix timestamp to return data for
limit (Number) Limit the number of minutes to lookup. Default is 1440.
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
timestamp (Date) By default, histoMinute() gets historical data for the past several minutes. Use the timestamp option to set a historical start point.
exchange (String) Exchange to get history data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Returns news articles from the providers that CryptoCompare has integrated with.
newsList(lang[, options])
lang (String) Preferred language – English (EN) or Portuguese (PT)
options (Object)
feeds (Array of Strings | Array) Specific news feeds to retrieve news from, if empty, defaults to all of them. (You can get a list of news feeds with newsFeedsAndCategories().Feeds..)
categories (Array of Strings | Array) Category of news articles to return, if empty, defaults to all of them. (You can get a list of news categories with newsFeedsAndCategories().Categories..)
excludeCategories (Array of Strings | Array) News article categories to exclude from results, if empty, defaults to none. (You can get a list of news categories with newsFeedsAndCategories().Categories..)
lTs (Date) Returns news before that timestamp
constcc=require('cryptocompare')cc.setApiKey('<your-api-key>')// Basic Usage:cc.newsList('EN').then(newsList=>{console.log(newsList)//[ // {// id: "708235"// guid: "https://www.cryptoglobe.com/latest/2018/11/china-cryptocurrency-mining-machines-are-reportedly-being-sold-according-to-their-weight/"// published_on: 1542886256// imageurl: "https://images.cryptocompare.com/news/cryptoglobe/fwMg0080000.jpeg"// title: "China: Cryptocurrency Mining Machines Reportedly Being Sold According to Their Weight"// url: "https://www.cryptoglobe.com/latest/2018/11/china-cryptocurrency-mining-machines-are-reportedly-being-sold-according-to-their-weight/"// source: "cryptoglobe"// body: "Cryptocurrency mining machines are reportedly being sold in China according to their weight as miners who haven’t been able to make a profit are seemingly getting rid of their old models to get some of their investment back."// tags: ""// categories: "Mining|Asia|Business"// upvotes: "0"// downvotes: "0"// lang: "EN"// source_info: {// name: "CryptoGlobe"// lang: "EN"// img: "https://images.cryptocompare.com/news/default/cryptoglobe.png"// }// }// ....//]}).catch(console.error)
newsFeedsAndCategories()
Returns all the news feeds (providers) that CryptoCompare has integrated with and the full list of categories.
aggregate (Number) Time period to aggregate the data over.
aggregatePredictableTimePeriods (Boolean) Only used if aggregate param included. If false, then it will create time slots based on when the call is made.
limit (Number) Number of data points to return.
toTs (Number) Last unix timestamp to return data for
I was annoyed with the way the Exodus team had auto-updaters for Mac and Windows but not for Ubuntu. So I wrote my own. It may be a bit kludgy, but it works.Probably the best way to implement this is to store it in a scripts folder and add it to your crontab for daily execution.
The command-line interface supports the following options.
usage: exodus [-h] [-c CHROOT_PATH] [-a DEPENDENCY] [-d] [--no-symlink FILE]
[-o OUTPUT_FILE] [-q] [-r [NEW_NAME]] [--shell-launchers] [-t]
[-v]
EXECUTABLE [EXECUTABLE ...]
Bundle ELF binary executables with all of their runtime dependencies so that
they can be relocated to other systems with incompatible system libraries.
positional arguments:
EXECUTABLE One or more ELF executables to include in the exodus
bundle.
optional arguments:
-h, --help show this help message and exit
-c CHROOT_PATH, --chroot CHROOT_PATH
A directory that will be treated as the root during
linking. Useful for testing and bundling extracted
packages that won't run without a chroot. (default:
None)
-a DEPENDENCY, --add DEPENDENCY, --additional-file DEPENDENCY
Specifies an additional file to include in the bundle,
useful for adding programatically loaded libraries and
other non-library dependencies. The argument can be
used more than once to include multiple files, and
directories will be included recursively. (default:
[])
-d, --detect Attempt to autodetect direct dependencies using the
system package manager. Operating system support is
limited. (default: False)
--no-symlink FILE Signifies that a file must not be symlinked to the
deduplicated data directory. This is useful if a file
looks for other resources based on paths relative its
own location. This is enabled by default for
executables. (default: [])
-o OUTPUT_FILE, --output OUTPUT_FILE
The file where the bundle will be written out to. The
extension depends on the output type. The
"{{executables}}" and "{{extension}}" template strings
can be used in the provided filename. If omitted, the
output will go to stdout when it is being piped, or to
"./exodus-{{executables}}-bundle.{{extension}}"
otherwise. (default: None)
-q, --quiet Suppress warning messages. (default: False)
-r [NEW_NAME], --rename [NEW_NAME]
Renames the binary executable(s) before packaging. The
order of rename tags must match the order of
positional executable arguments. (default: [])
--shell-launchers Force the use of shell launchers instead of attempting
to compile statically linked ones. (default: False)
-t, --tarball Creates a tarball for manual extraction instead of an
installation script. Note that this will change the
output extension from ".sh" to ".tgz". (default:
False)
-v, --verbose Output additional informational messages. (default:
False)
Backers
Contributing
Contributions are welcome, but please follow these contributor guidelines outlined in CONTRIBUTING.md.
Get the current price of any cryptocurrency in any other currency.
price(fsym, tsyms[, options])
fsym (String) From Symbol
tsyms (Array of Strings | String) To Symbol(s)
options (Object)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
exchanges (Array of Strings | Array) Exchanges to get price data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
constcc=require('cryptocompare')cc.setApiKey('<your-api-key>')// Basic Usage:cc.price('BTC',['USD','EUR']).then(prices=>{console.log(prices)// -> { USD: 1100.24, EUR: 1039.63 }}).catch(console.error)// Passing a single pair of currencies:cc.price('BTC','USD').then(prices=>{console.log(prices)// -> { USD: 1100.24 }}).catch(console.error)
priceMulti()
Works like price(), except it allows you to specify a matrix of From Symbols.
priceMulti(fsyms, tsyms[, options])
fsyms (Array of Strings | String) From Symbol(s)
tsyms (Array of Strings | String) To Symbol(s)
options (Object)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
exchanges (Array of Strings | Array) Exchanges to get price data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Get all the current trading info (price, vol, open, high, low, etc.) of any list of cryptocurrencies in any other currency.
priceFull(fsyms, tsyms[, options])
fsyms (Array of Strings | String) From Symbol(s)
tsyms (Array of Strings | String) To Symbol(s)
options (Object)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
exchanges (Array of Strings | Array) Exchanges to get price data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Get the price of any cryptocurrency in any other currency at a given timestamp. The price comes from the daily info – so it would be the price at the end of the day GMT based on the requested timestamp.
priceHistorical(fsym, tsyms, time[, options])
fsym (String) From Symbol
tsyms (Array of Strings | String) To Symbol(s)
time (Date) Date in history that you want price data for
options (Object)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
exchanges (Array of Strings | Array) Exchanges to get price data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Compute the current trading info (price, vol, open, high, low etc) of the requested pair as a volume weighted average based on the markets requested.
generateAvg(fsym, tsym, markets[, tryConversion])
fsym (String) From Symbol
tsym (String) To Symbol
markets (Array) Array of markets to base the average on. (You can get a list of top exchanges for a given pair with topExchanges().)
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
Get full data on top exchanges by volume for a currency pair.
topExchangesFull(fsym, tsym[, limit])
fsym (String) From Symbol
tsym (String) To Symbol
limit (Number) Limit the number of exchanges you receive (default 5).
histoDay()
Get open, high, low, close, volumefrom and volumeto from the daily historical data. The values are based on 00:00 GMT time.
histoDay(fsym, tsym[, options])
fsym (String) From Symbol
tsym (String) To Symbol
options (Object)
aggregate (Number) Number of data points to aggregate.
aggregatePredictableTimePeriods (Boolean) Generate predictable time periods.
allData (Boolean) Returns all data.
toTs (Number) Last unix timestamp to return data for.
limit (Number | 'none') Limit the number of days to lookup. Default is 30. If you set it to the string 'none', you will get all available data.
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
timestamp (Date) By default, histoDay() gets historical data for the past several days. Use the timestamp option to set a historical start point.
exchange (String) Exchange to get history data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Get open, high, low, close, volumefrom and volumeto from the hourly historical data.
histoHour(fsym, tsym[, options])
fsym (String) From Symbol
tsym (String) To Symbol
options (Object)
aggregate (Number) Number of data points to aggregate.
aggregatePredictableTimePeriods (Boolean) Generate predictable time periods.
toTs (Number) Last unix timestamp to return data for
limit (Number) Limit the number of hours to lookup. Default is 168.
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
timestamp (Date) By default, histoHour() gets historical data for the past several hours. Use the timestamp option to set a historical start point.
exchange (String) Exchange to get history data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Get open, high, low, close, volumefrom and volumeto from the minute-by-minute historical data.
histoMinute(fsym, tsym[, options])
fsym (String) From Symbol
tsym (String) To Symbol
options (Object)
aggregate (Number) Number of data points to aggregate.
aggregatePredictableTimePeriods (Boolean) Generate predictable time periods.
toTs (Number) Last unix timestamp to return data for
limit (Number) Limit the number of minutes to lookup. Default is 1440.
tryConversion (Boolean) By default, if the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion. Set tryConversion to false to disable using BTC for conversion.
timestamp (Date) By default, histoMinute() gets historical data for the past several minutes. Use the timestamp option to set a historical start point.
exchange (String) Exchange to get history data from. By default, average data is used. (You can get a list of top exchanges for a given pair with topExchanges().)
Returns news articles from the providers that CryptoCompare has integrated with.
newsList(lang[, options])
lang (String) Preferred language – English (EN) or Portuguese (PT)
options (Object)
feeds (Array of Strings | Array) Specific news feeds to retrieve news from, if empty, defaults to all of them. (You can get a list of news feeds with newsFeedsAndCategories().Feeds..)
categories (Array of Strings | Array) Category of news articles to return, if empty, defaults to all of them. (You can get a list of news categories with newsFeedsAndCategories().Categories..)
excludeCategories (Array of Strings | Array) News article categories to exclude from results, if empty, defaults to none. (You can get a list of news categories with newsFeedsAndCategories().Categories..)
lTs (Date) Returns news before that timestamp
constcc=require('cryptocompare')cc.setApiKey('<your-api-key>')// Basic Usage:cc.newsList('EN').then(newsList=>{console.log(newsList)//[ // {// id: "708235"// guid: "https://www.cryptoglobe.com/latest/2018/11/china-cryptocurrency-mining-machines-are-reportedly-being-sold-according-to-their-weight/"// published_on: 1542886256// imageurl: "https://images.cryptocompare.com/news/cryptoglobe/fwMg0080000.jpeg"// title: "China: Cryptocurrency Mining Machines Reportedly Being Sold According to Their Weight"// url: "https://www.cryptoglobe.com/latest/2018/11/china-cryptocurrency-mining-machines-are-reportedly-being-sold-according-to-their-weight/"// source: "cryptoglobe"// body: "Cryptocurrency mining machines are reportedly being sold in China according to their weight as miners who haven’t been able to make a profit are seemingly getting rid of their old models to get some of their investment back."// tags: ""// categories: "Mining|Asia|Business"// upvotes: "0"// downvotes: "0"// lang: "EN"// source_info: {// name: "CryptoGlobe"// lang: "EN"// img: "https://images.cryptocompare.com/news/default/cryptoglobe.png"// }// }// ....//]}).catch(console.error)
newsFeedsAndCategories()
Returns all the news feeds (providers) that CryptoCompare has integrated with and the full list of categories.
aggregate (Number) Time period to aggregate the data over.
aggregatePredictableTimePeriods (Boolean) Only used if aggregate param included. If false, then it will create time slots based on when the call is made.
limit (Number) Number of data points to return.
toTs (Number) Last unix timestamp to return data for
Vehicle Control System Project:
The Vehicle Control System Project is designed to manage various aspects of a vehicle, including engine control, temperature regulation, and response to traffic signals. It allows users to interact with the system through a menu-driven interface, where they can turn the engine on/off, set room and engine temperatures, and respond to traffic signals. The system monitors vehicle speed, adjusts the air conditioning, and controls engine temperature based on user input and predefined conditions. The project aims to simulate basic vehicle management functionalities in a controlled environment.
Family Member Management Project:
The Family Member Management Project provides functionalities to manage a list of family members, including their names and birthdates. Users can add new family members, view existing ones, search for members based on birth month, and delete members from the list. The project offers a simple interface for users to interact with the system, allowing them to perform various operations related to family member management. It serves as a basic tool for organizing and accessing information about family members in a structured manner.
Customer Account Management Project:
The Customer Account Management Project facilitates the management of customer accounts in a banking system. It allows users to create new accounts, update existing account information, perform transactions (such as deposits and withdrawals), check account details, remove accounts, and view a list of all customer accounts. The project provides a menu-driven interface for users to navigate through different options and interact with the system. It aims to provide basic banking functionalities for managing customer accounts efficiently and securely.
We believe in a future in which the web is a preferred environment for numerical computation. To help realize this future, we’ve built stdlib. stdlib is a standard library, with an emphasis on numerical and scientific computation, written in JavaScript (and C) for execution in browsers and in Node.js.
The library is fully decomposable, being architected in such a way that you can swap out and mix and match APIs and functionality to cater to your exact preferences and use cases.
When you use stdlib, you can be absolutely certain that you are using the most thorough, rigorous, well-written, studied, documented, tested, measured, and high-quality code out there.
To join us in bringing numerical computing to the web, get started by checking us out on GitHub, and please consider financially supporting stdlib. We greatly appreciate your continued support!
bifurcateIndicesBy
Split element indices into two groups according to a predicate function.
The branches.md file summarizes the available branches and displays a diagram illustrating their relationships.
To view installation and usage instructions specific to each branch build, be sure to explicitly navigate to the respective README files on each branch, as linked to above.
vardiscreteUniform=require('@stdlib/random-array-discrete-uniform');vartake=require('@stdlib/array-base-take-indexed');varbifurcateIndicesBy=require('@stdlib/array-base-bifurcate-indices-by');functionpredicate(v){// Use the first letter of each element to define groups:returnv[0]==='b';}// Define an initial array of values:varvalues=['beep','boop','foo','bar','woot','woot'];// Sample from the initial array to generate a random collection:varindices=discreteUniform(100,0,values.length-1,{'dtype': 'generic'});varx=take(values,indices);// returns [...]// Split the values:varout=bifurcateIndicesBy(x,predicate);// returns [...]console.log(out);
Notice
This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Python module for evaluting ASR hypotheses (i.e. word error rate and word
recognition rate).
This module depends on the editdistance
project, for computing edit distances between arbitrary sequences.
The formatting of the output of this program is very loosely based around the
same idea as the align.c program commonly used within the Sphinx ASR community.
This may run a bit faster if neither instances nor confusions are printed.
Please let me know if you have any comments, questions, or problems.
Word recognition rate (the number of matched words in the alignment divided by the number of words in the reference).
Sentence error rate (SER) (the number of incorrect sentences divided by the total number of sentences).
Installing & uninstalling
The easiest way to install is using pip:
pip install asr-evaluation
Alternatively you can clone this git repo and install using distutils:
git clone git@github.com:belambert/asr-evaluation.git
cd asr-evaluation
python setup.py install
To uninstall with pip:
pip uninstall asr-evaluation
Command line usage
For command line usage, see:
wer --help
It should display something like this:
usage: wer [-h] [-i | -r] [--head-ids] [-id] [-c] [-p] [-m count] [-a] [-e]
ref hyp
Evaluate an ASR transcript against a reference transcript.
positional arguments:
ref Reference transcript filename
hyp ASR hypothesis filename
optional arguments:
-h, --help show this help message and exit
-i, --print-instances
Print all individual sentences and their errors.
-r, --print-errors Print all individual sentences that contain errors.
--head-ids Hypothesis and reference files have ids in the first
token? (Kaldi format)
-id, --tail-ids, --has-ids
Hypothesis and reference files have ids in the last
token? (Sphinx format)
-c, --confusions Print tables of which words were confused.
-p, --print-wer-vs-length
Print table of average WER grouped by reference
sentence length.
-m count, --min-word-count count
Minimum word count to show a word in confusions.
-a, --case-insensitive
Down-case the text before running the evaluation.
-e, --remove-empty-refs
Skip over any examples where the reference is empty.
Contributing and code of conduct
For contributions, it’s best to Github issues and pull requests. Proper
testing and documentation suggested.
Code of conduct is expected to be reasonable, especially as specified by
the Contributor Covenant
Run the following commands from within the repository’s root folder to build the
project using webpack:
npm run build
Automatic Deployment
Every push on master triggers a build and deploy workflow. The build output is
published to itch.io.
This workflow should be easily changeable to run on different triggers, e.g.
creating a release or pushing a tag.
For this deployment to work, you have to create your project on itch.io
beforehand.
When you use this template, create a secret ITCH_API_KEY in your repository’s
secret settings. You also have to adjust your username and project name in the workflow file.
After the build was published, you have to configure it on itch.io to run in the
browser.