Skip to content

Commit

Permalink
merged master
Browse files Browse the repository at this point in the history
  • Loading branch information
xpl committed Aug 16, 2017
2 parents 5f5d63b + 299b9d8 commit a595789
Show file tree
Hide file tree
Showing 22 changed files with 1,161 additions and 210 deletions.
6 changes: 6 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
build/ccxt.php linguist-generated=true
build/ccxt.es5.js linguist-generated=true
build/__init__.py linguist-generated=true
ccxt.js linguis-generated=false
ccxt.php linguis-generated=false
ccxt.py linguis-generated=false
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# Please read https://github.com/kroitor/ccxt/blob/master/CONTRIBUTING.md#multilanguage-support for details.
#
build/
ccxt/

!build/ccxt.es5.js
!build/ccxt.php
node_modules/
npm-debug.log
.DS_Store
Expand Down
3 changes: 2 additions & 1 deletion .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ config.py
config.php
dist/
build/
!build/ccxt.es5.js
ccxt.egg-info/
tmp/
*.pyc
Expand All @@ -17,4 +18,4 @@ travis-keys.sh
ccxt.wiki/
package-lock.json
exchanges.json
ccxt.sublime-workspace
ccxt.sublime-workspace
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Сhangelog

- Added initial support for a new exchange: [coinfloor](https://www.coinfloor.co.uk) UK (still under development)
- Isolated code genome into `ccxt.js`, `ccxt.php` and `ccxt.py`, added `build` folder for generated files
- Fixed Bter BCC vs BCH in fetchTickers, [#83](https://github.com/kroitor/ccxt/issues/83)
- Fixed Python byte-encoding with Gemini, [#30](https://github.com/kroitor/ccxt/issues/30), [#113](https://github.com/kroitor/ccxt/issues/113),
- Added experimental `fetchOrders ()` workaround and other private methods for Poloniex (WIP), [#102](https://github.com/kroitor/ccxt/pull/102)
Expand Down
25 changes: 17 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Contributing To The CCXT Library

```diff
- This file is a work in progress, contribution guidelines are being developed right now!
- This file is a work in progress, guidelines for contributing are being developed right now!
```

If you want to submit an issue and you want your issue to be resolved quickly, here's a basic checklist for you:
Expand Down Expand Up @@ -43,11 +43,14 @@ The contents of the repository are structured as follows:
/MANIFEST.in # a PyPI-package file listing extra package files (license, configs, etc...)
/README.md # master markdown for GitHub, npmjs.com, npms.io, yarn and others
/README.rst # slave reStructuredText for PyPI
/ccxt/ # Python ccxt module/package folder for PyPI
/ccxt/__init__.py # slave Python-version of the ccxt library
/ccxt-es5.js # slave JavaScript ES5 version of the ccxt library
/build/ # a folder for the generated slave source files
/build/ccxt.es5.js # slave generated JavaScript ES5 version of the ccxt library
/build/ccxt.php # slave generated PHP version of the ccxt library
/ccxt.js # master JS ES6 version of the ccxt library
/ccxt.php # slave PHP version of the ccxt library
/ccxt.php # base code for the PHP version of the ccxt library
/ccxt.py # base code for the Python version of the ccxt library
/ccxt/ # Python ccxt module/package folder for PyPI
/ccxt/__init__.py # slave generated Python-version of the ccxt library
/countries.js # a list of ISO 2-letter country codes in JS for testing, not very important
/examples/ # self-explaining
/examples/js # ...
Expand All @@ -74,12 +77,18 @@ At first, all language-specific versions were developed in parallel, but separat
The ccxt library includes one single file per each language:

```shell
/ccxt/__init__.py # slave Python-version of the ccxt library
/ccxt-es5.js # slave JavaScript ES5 version of the ccxt library
/ccxt.js # master JS ES6 version of the ccxt library
/ccxt.php # slave PHP version of the ccxt library
/ccxt.py # base code for the slave Python version of the ccxt library
/ccxt.php # base code for the slave PHP version of the ccxt library
/ccxt/__init__.py # slave Python-version of the ccxt library
/build/ccxt.es5.js # slave JavaScript ES5 version of the ccxt library
/build/ccxt.php # slave PHP-version of the ccxt library
```

The module entry points are:
- `/ccxt/__init__.py` for the Python pip package
- `/build/ccxt.es5.js` for the Node.js npm package and browsers

Slave files and docs are partially-generated from the master `ccxt.js` file by the `npm run build` command.

The structure of the master/slave file can be outlined like this:
Expand Down
29 changes: 15 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CCXT – CryptoCurrency eXchange Trading Library

[![Build Status](https://travis-ci.org/kroitor/ccxt.svg?branch=master)](https://travis-ci.org/kroitor/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dm/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/kroitor/ccxt.svg)](https://scrutinizer-ci.com/g/kroitor/ccxt/?branch=master) [![Try ccxt on RunKit](https://badge.runkitcdn.com/ccxt.svg)](https://npm.runkit.com/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-71-blue.svg)](https://github.com/kroitor/ccxt/wiki/Exchange-Markets)
[![Build Status](https://travis-ci.org/kroitor/ccxt.svg?branch=master)](https://travis-ci.org/kroitor/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dm/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/kroitor/ccxt.svg)](https://scrutinizer-ci.com/g/kroitor/ccxt/?branch=master) [![Try ccxt on RunKit](https://badge.runkitcdn.com/ccxt.svg)](https://npm.runkit.com/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-72-blue.svg)](https://github.com/kroitor/ccxt/wiki/Exchange-Markets)

A JavaScript / Python / PHP library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.

Expand All @@ -19,7 +19,7 @@ Current featurelist:

## Supported Cryptocurrency Exchange Markets

The ccxt library currently supports the following 71 cryptocurrency exchange markets and trading APIs:
The ccxt library currently supports the following 72 cryptocurrency exchange markets and trading APIs:

| | id | name | ver | doc | countries |
|----------------------------------------------------------------------------------------------------------------------|---------------|------------------------------------------------------|:---:|:-------------------------------------------------------------------------------------------:|-----------------------------------------|
Expand Down Expand Up @@ -53,6 +53,7 @@ The ccxt library currently supports the following 71 cryptocurrency exchange mar
|![chbtc](https://user-images.githubusercontent.com/1294454/28555659-f0040dc2-7109-11e7-9d99-688a438bf9f4.jpg) | chbtc | [CHBTC](https://trade.chbtc.com/api) | 1 | [API](https://www.chbtc.com/i/developer) | China |
|![chilebit](https://user-images.githubusercontent.com/1294454/27991414-1298f0d8-647f-11e7-9c40-d56409266336.jpg) | chilebit | [ChileBit](https://chilebit.net) | 1 | [API](https://blinktrade.com/docs) | Chile |
|![coincheck](https://user-images.githubusercontent.com/1294454/27766464-3b5c3c74-5ed9-11e7-840e-31b32968e1da.jpg) | coincheck | [coincheck](https://coincheck.com) | * | [API](https://coincheck.com/documents/exchange/api) | Japan, Indonesia |
|![coinfloor](https://user-images.githubusercontent.com/1294454/28246081-623fc164-6a1c-11e7-913f-bac0d5576c90.jpg) | coinfloor | [coinfloor](https://www.coinfloor.co.uk) | * | [API](https://github.com/coinfloor/api) | UK |
|![coingi](https://user-images.githubusercontent.com/1294454/28619707-5c9232a8-7212-11e7-86d6-98fe5d15cc6e.jpg) | coingi | [Coingi](https://coingi.com) | * | [API](http://docs.coingi.apiary.io/) | Panama, Bulgaria, China, US |
|![coinmarketcap](https://user-images.githubusercontent.com/1294454/28244244-9be6312a-69ed-11e7-99c1-7c1797275265.jpg) | coinmarketcap | [CoinMarketCap](https://coinmarketcap.com) | 1 | [API](https://coinmarketcap.com/api) | US |
|![coinmate](https://user-images.githubusercontent.com/1294454/27811229-c1efb510-606c-11e7-9a36-84ba2ce412d8.jpg) | coinmate | [CoinMate](https://coinmate.io) | * | [API](http://docs.coinmate.apiary.io) | UK, Czech Republic |
Expand Down Expand Up @@ -97,29 +98,30 @@ The ccxt library currently supports the following 71 cryptocurrency exchange mar

The list above is updated frequently, new crypto markets, altcoin exchanges, bug fixes, API endpoints are introduced and added on regular basis. See the [Manual](https://github.com/kroitor/ccxt/wiki) for details. If you don't find a cryptocurrency exchange market in the list above and/or want another exchange to be added, post or send us a link to it by opening an issue here on GitHub or via email.

The library is under MIT license, that means it's absolutely free for any developer to build commercial and opensource software on top of it, but use it at your own risk with no warranties, as is.
The library is under [MIT license](https://github.com/kroitor/ccxt/blob/master/LICENSE.txt), that means it's absolutely free for any developer to build commercial and opensource software on top of it, but use it at your own risk with no warranties, as is.

Developer team is open to collaboration and available for hiring and outsourcing. If you're interested in integrating this software into an existing project or in developing new opensource and commercial projects we welcome you to read our [Public Offer](#public-offer).

## Install

This library is shipped as a single-file (all-in-one module) implementation with minimalistic dependencies and requirements.
The easiest way to install the ccxt library is to use builtin package managers:

The main file is:
- [ccxt in **NPM**](http://npmjs.com/package/ccxt) (JavaScript / Node)
- [ccxt in **PyPI**](https://pypi.python.org/pypi/ccxt) (Python 2 and 3)

- `ccxt.js` in JavaScript ([ccxt for Node.js](http://npmjs.com/package/ccxt) and web browsers)
- `ccxt/__init__.py` in Python (works in both Python 2 and 3, [ccxt in PyPI](https://pypi.python.org/pypi/ccxt))
- `ccxt.php` in PHP
This library is shipped as a single-file (all-in-one module) implementation with minimalistic dependencies and requirements:

The easiest way to install the ccxt library is to use builtin package managers.
- [`ccxt.js`](https://github.com/kroitor/ccxt/blob/master/ccxt.js) in JavaScript
- [`ccxt/__init__.py`](https://github.com/kroitor/ccxt/blob/master/ccxt/__init__.py) in Python (generated from JS)
- [`build/ccxt.php`](https://github.com/kroitor/ccxt/blob/master/build/ccxt.php) in PHP (generated from JS)

You can also clone it into your project directory from [ccxt GitHub repository](https://github.com/kroitor/ccxt):

```shell
git clone https://github.com/kroitor/ccxt.git
```

An alternative way of installing this library into your code is to copy a single `ccxt.*` file manually into your working directory with language extension appropriate for your environment.
An alternative way of installing this library into your code is to copy a single file manually into your working directory with language extension appropriate for your environment.

### Node.js (npm)

Expand Down Expand Up @@ -153,11 +155,10 @@ print(ccxt.exchanges) # print a list of all available exchange classes

### PHP

```shell
git clone https://github.com/kroitor/ccxt.git
```
The ccxt library in PHP: [**`ccxt.php`**](https://raw.githubusercontent.com/kroitor/ccxt/master/build/ccxt.php)

It requires common PHP modules:

The ccxt library in PHP requires common PHP modules:
- cURL
- mbstring (using UTF-8 is highly recommended)
- PCRE
Expand Down
36 changes: 19 additions & 17 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ CCXT – CryptoCurrency eXchange Trading Library
:target: https://scrutinizer-ci.com/g/kroitor/ccxt/?branch=master
.. image:: https://badge.runkitcdn.com/ccxt.svg
:target: https://npm.runkit.com/ccxt
.. image:: https://img.shields.io/badge/exchanges-71-blue.svg
.. image:: https://img.shields.io/badge/exchanges-72-blue.svg
:target: https://github.com/kroitor/ccxt/wiki/Exchange-Markets

A JavaScript / Python / PHP library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
Expand All @@ -34,7 +34,7 @@ Current featurelist:
Supported Cryptocurrency Exchange Markets
-----------------------------------------

The ccxt library currently supports the following 71 cryptocurrency exchange markets and trading APIs:
The ccxt library currently supports the following 72 cryptocurrency exchange markets and trading APIs:

+-----------------+-----------------------------------------------------------+-------+--------------------------------------------------------------------------------------------------+--------------------------------------------+
| id | name | ver | doc | countries |
Expand Down Expand Up @@ -99,6 +99,8 @@ The ccxt library currently supports the following 71 cryptocurrency exchange mar
+-----------------+-----------------------------------------------------------+-------+--------------------------------------------------------------------------------------------------+--------------------------------------------+
| coincheck | `coincheck <https://coincheck.com>`__ | \* | `API <https://coincheck.com/documents/exchange/api>`__ | Japan, Indonesia |
+-----------------+-----------------------------------------------------------+-------+--------------------------------------------------------------------------------------------------+--------------------------------------------+
| coinfloor | `coinfloor <https://www.coinfloor.co.uk>`__ | \* | `API <https://github.com/coinfloor/api>`__ | UK |
+-----------------+-----------------------------------------------------------+-------+--------------------------------------------------------------------------------------------------+--------------------------------------------+
| coingi | `Coingi <https://coingi.com>`__ | \* | `API <http://docs.coingi.apiary.io/>`__ | Panama, Bulgaria, China, US |
+-----------------+-----------------------------------------------------------+-------+--------------------------------------------------------------------------------------------------+--------------------------------------------+
| coinmarketcap | `CoinMarketCap <https://coinmarketcap.com>`__ | 1 | `API <https://coinmarketcap.com/api>`__ | US |
Expand Down Expand Up @@ -184,30 +186,31 @@ The ccxt library currently supports the following 71 cryptocurrency exchange mar

The list above is updated frequently, new crypto markets, altcoin exchanges, bug fixes, API endpoints are introduced and added on regular basis. See the `Manual <https://github.com/kroitor/ccxt/wiki>`__ for details. If you don't find a cryptocurrency exchange market in the list above and/or want another exchange to be added, post or send us a link to it by opening an issue here on GitHub or via email.

The library is under MIT license, that means it's absolutely free for any developer to build commercial and opensource software on top of it, but use it at your own risk with no warranties, as is.
The library is under `MIT license <https://github.com/kroitor/ccxt/blob/master/LICENSE.txt>`__, that means it's absolutely free for any developer to build commercial and opensource software on top of it, but use it at your own risk with no warranties, as is.

Developer team is open to collaboration and available for hiring and outsourcing. If you're interested in integrating this software into an existing project or in developing new opensource and commercial projects we welcome you to read our Public Offer.

Install
-------

This library is shipped as a single-file (all-in-one module) implementation with minimalistic dependencies and requirements.
The easiest way to install the ccxt library is to use builtin package managers:

The main file is:
- `ccxt in **NPM** <http://npmjs.com/package/ccxt>`__ (JavaScript / Node)
- `ccxt in **PyPI** <https://pypi.python.org/pypi/ccxt>`__ (Python 2 and 3)

- ``ccxt.js`` in JavaScript (`ccxt for Node.js <http://npmjs.com/package/ccxt>`__ and web browsers)
- ``ccxt/__init__.py`` in Python (works in both Python 2 and 3, `ccxt in PyPI <https://pypi.python.org/pypi/ccxt>`__)
- ``ccxt.php`` in PHP
This library is shipped as a single-file (all-in-one module) implementation with minimalistic dependencies and requirements:

The easiest way to install the ccxt library is to use builtin package managers.
- ```ccxt.js`` <https://github.com/kroitor/ccxt/blob/master/ccxt.js>`__ in JavaScript
- ```ccxt/__init__.py`` <https://github.com/kroitor/ccxt/blob/master/ccxt/__init__.py>`__ in Python (generated from JS)
- ```build/ccxt.php`` <https://github.com/kroitor/ccxt/blob/master/build/ccxt.php>`__ in PHP (generated from JS)

You can also clone it into your project directory from `ccxt GitHub repository <https://github.com/kroitor/ccxt>`__:

.. code:: shell
git clone https://github.com/kroitor/ccxt.git
An alternative way of installing this library into your code is to copy a single ``ccxt.*`` file manually into your working directory with language extension appropriate for your environment.
An alternative way of installing this library into your code is to copy a single file manually into your working directory with language extension appropriate for your environment.

Node.js (npm)
~~~~~~~~~~~~~
Expand Down Expand Up @@ -244,15 +247,14 @@ Python version of the ccxt library does not require any additional dependencies
PHP
~~~

.. code:: shell
The ccxt library in PHP: `**``ccxt.php``** <https://raw.githubusercontent.com/kroitor/ccxt/master/build/ccxt.php>`__

git clone https://github.com/kroitor/ccxt.git
It requires common PHP modules:

The ccxt library in PHP requires common PHP modules:
- cURL
- mbstring (using UTF-8 is highly recommended)
- PCRE
- iconv
- cURL
- mbstring (using UTF-8 is highly recommended)
- PCRE
- iconv

.. code:: php
Expand Down
Loading

0 comments on commit a595789

Please sign in to comment.