* Improvements to the matrix cache
- Add a timelimit for the matrix in the cache.
Once the timelimit is reached, the matrix can be removed.
- If a DatasetAccessError occurs, then remove the dataset
from the matrix cache.
Fixes#1322
Mostly this is just instructions for how to do this,
with a small addition to the makefile.
This enables support for serving the about_legal_tos and about_legal_privacy
from the cellxgene server.
* Added a config hook for secret key into the app.
the server first looks in an environment variable,
then looks in a config file.
For the cellxgene launch app, a default key is used if none is provided.
For the eb app, a secret key must be provided.
* work around anndata bug 344
* fix accidental cut and paste error
* Use modified make_index_unique function
Temporarily copy code from https://github.com/theislab/anndata/pull/345
until the issue is resolved and released.
* Add notes and test for make_index_unique
* Lint fix
* Format python
Co-authored-by: Matt Weiden <538456+mweiden@users.noreply.github.com>
* Introduce a config file to cellxgene
The config file format is in yaml. The default config is located
in server/common/default_config.py. A user may create a yaml file
that contains a subset of these fields. It can be used during cellxgene
launch, or for hosted cellxgene.
The code has also been refactored. Much of the logic to check arguments
has moved from launch to app config.
It is now possible to set the tiledb context parameters using the config
file. Other feature will soon be handled in a similar way.
* Improve hosted cellxgene
- option to turn off the test index page, or supply a page for redirect.
For EB, The default is to return 404. For cli launch, the default is the test page.
- option to select which matrix types are allowed for multi dataset servers.
For EB, The default is CXG only. For cli launch, the default is any matrix type.
- Return early with an error response if diffexp is requested when not configured
- Verified that reembedings and user annotations also return with an error response
if used when not enabled.
TODO: The new options cannot currently be set by the user.
I plan to add a configuration file where these and all other settings can be set.
Fixes#1210Fixes#1228Fixes#1229
* Fix for favicon with --dataroot
* fix static assets in hosted cxg
The web proxy at aws eb was not finding the static assets.
The solution here is very simple: just copy the directory
containing the static assets to the top level of the artifact.zip.
This is not really the ideal solution. According to the AWS
docs you can make a mapping to the correct location in an
an ebextentions config file. I tried this and many combinations but
was not able to get this to work following that pattern.
Since we control the construction of the zip file, the solution
here isn't bad, but it could probably be made better.
* allow DataLocator to accept another locator as init param
* migrate to DataLocator
* migrate to DataLocator
* lint
* migrate to DataLocator
* add check for erroroneous use of remote path and annotations
* lint
* revert default data location - now back go CWD
* remove unused import
* early, non-working eb config
* hosted cellxgene
In this PR, contains scripts and instructions for deploying cellxgene
for AWS elastic beanstalk. It supports the multi-dataset option.
The Makefile in the server/eb directory creates an artifact.zip
file, which can be deploy at AWS EB.
The server/eb directory contains:
app.py - flask app to run the server
Makefile - which creates an artifact.zip file which can be deployed.
README.md - instructions for setting up and deploying the eb app.
* hosted cellxgene (#38)
In this PR, contains scripts and instructions for deploying cellxgene
for AWS elastic beanstalk. It supports the multi-dataset option.
The Makefile in the server/eb directory creates an artifact.zip
file, which can be deploy at AWS EB.
The server/eb directory contains:
app.py - flask app to run the server
Makefile - which creates an artifact.zip file which can be deployed.
README.md - instructions for setting up and deploying the eb app.
* Update how artifact.zip is created
prune the server/test and server/eb directories
* Remove debugging print statements
* fixes from review comments
* fix lint
Co-authored-by: bkmartinjr <bruce@chanzuckerberg.com>