keiono / cy-rest Goto Github PK
View Code? Open in Web Editor NEWThis project forked from idekerlab/cyrest
This site is obsolete! Please use the link here:
Home Page: http://github.com/idekerlab/cyREST
License: MIT License
This project forked from idekerlab/cyrest
This site is obsolete! Please use the link here:
Home Page: http://github.com/idekerlab/cyREST
License: MIT License
API for tables.
Since Cytoscape.js does not have data type in the spec, it is better to support GraphSON reader when number data type is important:
https://github.com/tinkerpop/blueprints/wiki/GraphSON-Reader-and-Writer-Library
Currently, there is no API to enable/disable visual property dependencies, such as Lock node width and height. We need an API to enable/disable these options.
Update the following JavaScript project to test ALL REST API.
This repository will not be used anymore. Need to move everything to:
line 148: return requests.get(self.__url + '/' + str(id) + '.json').json()
Does not seem to work. networks/52.json does not seem to be supported by CyREST API.
Maybe change it into:
return requests.get(self.__url + '/' + str(id)).json()
This includes:
Currently API documents for Visual Style API is completely broken and cannot generate any API document.
Need some examples to use cy-rest from JavaScript (mainly from node.js).
Cytoscape.js JSON does not have specific format for the view. We need to design how CyNetworkViews are serialized into JSON file.
Add support for Edge Bundling.
Open questions:
Implement CRUD operations as RESTful API.
Need to add "Rotate" manual layout API.
The docs: http://keiono.github.io/cy-rest/#1288037935
The URL: GET http://example.com/v1/networks/networkId/views/viewId.png
The server replies with Content-Type: application/json but the content itself is a png image. The docs also say that something of Content-Type application/json will be returned.
In contrast, getting the first network view as a png works fine http://keiono.github.io/cy-rest/#144494073
If you want to run cy-rest on a different port, the current workflow of
set a global Cytoscape property from Edit-->Preserences-->Properties... and add a new property port.number"
is rather obscure.
I suggest the following:
javax.ws.rs.ProcessingException: Failed to start Grizzly HTTP server: Address already in use
cy-rest start localhost 1234
cy-rest start 192.168.1.1 1234
cy-rest stop
cy-rest query http://192.168.1.1/v1/networks
Where the last command only supports HTTP GET queries. This should be regarded mostly as a diagnostic tool and not as something to actually work with.
Need to support RESTful operations for View objects. This is for setting/getting Visual Property values for the given view object.
Docs URL: http://keiono.github.io/cy-rest/#-875567376
REST URL: v1/networks/networkId/groups/nodeSUID
This always seem to produce a HTTP 404 response.
My curl request:
curl -X GET -v http://localhost:1234/v1/networks/80/groups/90 22:36:25
* Hostname was NOT found in DNS cache
* Trying ::1...
* connect to ::1 port 1234 failed: Verbindungsaufbau abgelehnt
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 1234 (#0)
> GET /v1/networks/80/groups/90 HTTP/1.1
> User-Agent: curl/7.38.0
> Host: localhost:1234
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Date: Sun, 19 Oct 2014 20:45:58 GMT
< Content-Length: 0
<
* Connection #0 to host localhost left intact
And I double-checked that network 80 and node 90 (within network 80) do exist.
A minor issue:
http://keiono.github.io/cy-rest/#-1471173272
with the URL
http://localhost:1234/v1/gc
Returns a "HTTP/1.1 204 No Content" on my machine.
The documentation says it should return 200 on success.
Prepare comprehensive tutorial scripts as IPython Notebooks:
Docs: http://keiono.github.io/cy-rest/#-726758156
Path-parameter columnName does not exist.
The REST call actually expects a JSON object with two fields: old_name and new_name that contain the column names.
If table includes non-English UTF-8 chars, they cannot be decoded. Need to specify encoding when returning non-English chars.
Add GraphSON writer. This is useful when using external tools such as graph databases supporting Tinkerpop Blueprints:
Need to add "Scaling" function API.
In current version, updating Table data requires the following steps:
This is not intuitive. We need a simplified method to batch-update table.
Hey,
Can I find API docs anywhere? Or even just a list of possible endpoints?
Am happy to help generate one, if it doesn't exist, if you point me in the right direction, as well :)
thanks!
Rishi
Used URL:
http://example.com/v1/networks/ (docs: http://keiono.github.io/cy-rest/#-1099067042)
with GET parameters "column" and "query".
This request will fail (HTTP 500) if at least one of the network collections doesn't have a network table with the specified column, even though other network collections do have that column in their network tables.
I therefore suggest that network collections which don't have the specified column are ignored for the search.
Implement CRUD operations for default values of Visual Style.
Need an API to get current network view as image.
Currently, there is no way to create new List column. We need to support it by adding new option in POST Column API. The new POST format will be:
{
"name": COL_NAME,
"type": COL_TYPE,
"immutable": (optional),
"isList": (optional. If true, create as List)
{
Clean and deploy py2cytoscape library and make it available to pip command.
Utility for JavaScript should be deployed to NPM repository and we need to add it to BioJS registry.
It should be possible to save and load sessions via cy-rest.
This could be especially handy when several sessions have to be created automatically.
Add comprehensive examples for R users. Scripts and Markdown documents will be maintained here:
Write a complete user documentation in the Wiki.
"Fit network view to current window" is a useful feature for everyone. This should be included in the first release.
Current POST method for column accepts single entry only. This should accept both multiple columns and single column.
Docs: http://keiono.github.io/cy-rest/#1469098445
The curl command I have tried: curl -X DELETE -v http://localhost:1234/v1/networks/80/groups/115/
and I am very certain that network 80 and group 115 exist.
I get a HTTP 500 error for this. Complete HTTP conversation:
> DELETE /v1/networks/80/groups/115/ HTTP/1.1
> User-Agent: curl/7.38.0
> Host: localhost:1234
> Accept: */*
>
< HTTP/1.1 500 Request failed.
< Content-Type: text/html;charset=ISO-8859-1
< Date: Sun, 19 Oct 2014 20:36:25 GMT
< Connection: close
< Content-Length: 1033
<
<html><head><title>Grizzly 2.3.16</title><style><!--div.header {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#003300;font-size:22px;-moz-border-radius-topleft: 10px;border-top-left-radius: 10px;-moz-border-radius-topright: 10px;border-top-right-radius: 10px;padding-left: 5px}div.body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:#FFFFCC;font-size:16px;padding-top:10px;padding-bottom:10px;padding-left:10px}div.footer {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#666633;font-size:14px;-moz-border-radius-bottomleft: 10px;border-bottom-left-radius: 10px;-moz-border-radius-bottomright: 10px;border-bottom-right-radius: 10px;padding-left: 5px}BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}B {font-family:Tahoma,Arial,sans-serif;color:black;}A {color : black;}HR {color : #999966;}--></style> </head><body><div class="header">Request failed.</div><div class="body">Request failed.</div><div class="footer">Grizzly 2.3.16</div></bod* Closing connection 0
y></html>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.