# *Core App*: cyREST
__IMPORTANT: Now this app is now automatically delivered with Cytoscape v3.3 and later!__
You can update your CyREST to the latest version by using the _Check for Updates_ tab in Cytoscape's App Manager.
CyREST is the technology that powers Cytoscape Automation, which enables you to create reproducible workflows executed entirely within Cytoscape or by external tools (e.g., Jupyter, R, GenomeSpace, etc). This enables Cytoscape to scale to large collections of datasets and larger more complex workflows than is practical via keyboard and mouse.
## With cyREST, you can...
* Automate your data analysis and visualization workflows
* Use Cytoscape from [python](https://www.python.org/), [Jupyter Notebook](http://jupyter.org/) or [RStudio](http://www.rstudio.com/)
* Connect your services to Cytoscape with the programming language, and libraries of your choice -- such as:
* Python + NumPy + SciPy for implementing layout algorithms
* R + igraph for writing network analysis tools
To learn more about Cytoscape Automation, visit our [Wiki](https://github.com/cytoscape/cytoscape-automation/wiki).
## cyREST Paper
Please cite our paper for project sustainability:
__Ono, Keiichiro, et al. "[CyREST: Turbocharging Cytoscape Access for External Tools via a RESTful API](http://f1000research.com/articles/4-478/v1)." F1000Research 4 (2015).__
## REST API Documentation
CyREST API docs are available within Cytoscape main menu through the __Help__ → __Automation__ sub-menu.
## Related Packages, Apps and Modules
* The Cytoscape Automation Wiki contains resources for scripters interested in using python or R to access CyREST [here](https://github.com/cytoscape/cytoscape-automation/tree/master/for-scripters), including wrapper libraries to ease access via CyREST and drastically reduce boilerplate code.
* The [RCyjs package](http://www.bioconductor.org/packages/release/bioc/html/RCyjs.html) is a separate but related resource that can be used to display Cytoscape-like graphs in a web browser from within an R session.
## Samples Generated with cyREST and R/Python
Figure 1: Graph structure-aware visualization with cyREST, igraph, and R. Code is available [here](https://github.com/idekerlab/cy-rest-R/blob/develop/workflow1_structure_based_visualization.R).
Figure 2: Human interactome (HumanNet v1) to subgraphs using Chromosome names
* __6/9/2017__: Version 3.5.0 released. CyREST API documentation is now available in the Cytoscape Help menu.
* __5/8/2016__: Version 3.4.0 released. Apps can now create REST endpoints. Examples can be found in the [Cytoscape Automation](https://github.com/cytoscape/cytoscape-automation/tree/master/for-app-developers) GitHub repository.
* __9/13/2016__: Version 3.3.7 released. Critical bug found in 3.3.6 and this contains the fix for it.
* __9/8/2016__: Version 3.3.6 released. Minor bug fix release.
* __9/1/2016__: Version 3.3.5 released. Contains new _/collections_ API.
* __6/22/2016__: Bugfix version released. You can simply press *Upgrade* button to install the new version.
* __11/16/2015__: Migration to Core App. Now cyREST is a part of Cytoscape Core Distribution. If you are using Cytoscape 3.3 or later, you don't have to install this app.
* __9/2/2015__: 2.0.2 released. Merged with Command REST module. Commands features are available under /v1/commands. This is just a straight port from existing core code base, and Commands APIs are not RESTful (yet).
* __7/28/2015__: 1.1.1 released. Get network as file API added (and some bug fixes)
* __6/26/2015: 1.1.0 released. SVG and PDF export functions are supported!__
* __6/14/2015__: 0.9.17 released. Layout attributes and local table columns are supported.
* __6/9/2015__: 0.9.16 released. Now Layout parameters are accessible through API.
* __6/5/2015__: Python wrapper (py2cytoscape) released.