All Projects β†’ Anaconda-Platform β†’ Anaconda Project

Anaconda-Platform / Anaconda Project

Licence: other
Tool for encapsulating, running, and reproducing data science projects

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Anaconda Project

Open-Data-Lab
an initiative to provide infrastructure for reproducible workflows around open data
Stars: ✭ 26 (-83.01%)
Mutual labels:  datascience, reproducibility
Climate Change Data
🌍 A curated list of APIs, open data and ML/AI projects on climate change
Stars: ✭ 195 (+27.45%)
Mutual labels:  datascience, data
Renku
The Renku Project provides a platform and tools for reproducible and collaborative data analysis.
Stars: ✭ 141 (-7.84%)
Mutual labels:  datascience, reproducibility
Data science blogs
A repository to keep track of all the code that I end up writing for my blog posts.
Stars: ✭ 139 (-9.15%)
Mutual labels:  datascience, data
Dataframe Js
A javascript library providing a new data structure for datascientists and developpers
Stars: ✭ 376 (+145.75%)
Mutual labels:  datascience, data
Introduction Datascience Python Book
Introduction to Data Science: A Python Approach to Concepts, Techniques and Applications
Stars: ✭ 275 (+79.74%)
Mutual labels:  datascience, data
Data Science Resources
πŸ‘¨πŸ½β€πŸ«You can learn about what data science is and why it's important in today's modern world. Are you interested in data science?πŸ”‹
Stars: ✭ 171 (+11.76%)
Mutual labels:  datascience, data
Mimesis
Mimesis is a high-performance fake data generator for Python, which provides data for a variety of purposes in a variety of languages.
Stars: ✭ 3,439 (+2147.71%)
Mutual labels:  data, datascience
Blockchain2graph
Blockchain2graph extracts blockchain data (bitcoin) and insert them into a graph database (neo4j).
Stars: ✭ 134 (-12.42%)
Mutual labels:  datascience, data
Pyfunctional
Python library for creating data pipelines with chain functional programming
Stars: ✭ 1,943 (+1169.93%)
Mutual labels:  datascience, data
Crawler China Mainland Universities
δΈ­ε›½ε€§ι™†ε€§ε­¦εˆ—θ‘¨ηˆ¬θ™«
Stars: ✭ 143 (-6.54%)
Mutual labels:  data
Electrophysiologydata
A list of openly available datasets in (mostly human) electrophysiology.
Stars: ✭ 143 (-6.54%)
Mutual labels:  data
Azkarra Streams
πŸš€ Azkarra is a lightweight java framework to make it easy to develop, deploy and manage cloud-native streaming microservices based on Apache Kafka Streams.
Stars: ✭ 146 (-4.58%)
Mutual labels:  data
Tera
An Internet-Scale Database.
Stars: ✭ 1,846 (+1106.54%)
Mutual labels:  data
Nn Template
Generic template to bootstrap your PyTorch project with PyTorch Lightning, Hydra, W&B, and DVC.
Stars: ✭ 145 (-5.23%)
Mutual labels:  reproducibility
Gofakeit
Random fake data generator written in go
Stars: ✭ 2,193 (+1333.33%)
Mutual labels:  data
Coffee Quality Database
Building the Coffee Quality Institute Database
Stars: ✭ 141 (-7.84%)
Mutual labels:  data
Tables.jl
An interface for tables in Julia
Stars: ✭ 141 (-7.84%)
Mutual labels:  data
Hottbox
HOTTBOX: Higher Order Tensors ToolBOX.
Stars: ✭ 153 (+0%)
Mutual labels:  data
Audioowl
Fast and simple music and audio analysis using RNN in Python πŸ•΅οΈβ€β™€οΈ πŸ₯
Stars: ✭ 151 (-1.31%)
Mutual labels:  data

Anaconda Project

Tool for encapsulating, running, and reproducing data science projects.

Build status

Build status codecov

Project information

License

Description

Take any directory full of stuff that you're working on; web apps, scripts, Jupyter notebooks, data files, whatever it may be.

By adding an anaconda-project.yml to this project directory, a single anaconda-project runcommand will be able to set up all dependencies and then launch the project.

Anaconda projects should run in the same way on your machine, on a colleague's machine, or when deployed to a server.

Running an Anaconda project executes a command specified in the anaconda-project.yml (any arbitrary commands can be configured).

anaconda-project.yml automates project setup; Anaconda can establish all prerequisite conditions for the project's commands to execute successfully. These conditions could include:

  • creating a conda environment with certain packages in it
  • prompting the user for passwords or other configuration
  • downloading data files
  • starting extra processes such as a database server

The goal is that if your project runs on your machine, it will also run on others' machines (or on your future machine after you reboot a few times and forget how your project works).

The command anaconda-project init DIRECTORY_NAME creates an anaconda-project.yml, converting your project directory into an Anaconda project.

Put another way...

Traditional build scripts such as setup.py automate "building" the project (going from source code to something runnable), while anaconda-project automates "running" the project (taking build artifacts and doing any necessary setup prior to executing them).

Why?

  • Do you have a README with setup steps in it? You may find that it gets outdated, or that people don't read it, and then you have to help them diagnose the problem. anaconda-project automates the setup steps; the README can say "type anaconda-project run" and that's it.
  • Do you need everyone working on a project to have the same dependencies in their conda environment? anaconda-project automates environment creation and verifies that environments have the right versions of packages.
  • Do you sometimes include your personal passwords or secret keys in your code, because it's too complicated to do otherwise? With anaconda-project, you can os.getenv("DB_PASSWORD") and configure anaconda-project to prompt the user for any missing credentials.
  • Do you want improved reproducibility? With anaconda-project, someone who wants to reproduce your analysis can ensure they have exactly the same setup that you have on your machine.
  • Do you want to deploy your analysis as a web application? The configuration in anaconda-project.yml tells hosting providers how to run your project, so there's no special setup needed when you move from your local machine to the web.

Learn more from the complete docs

Check out the complete documentation, including a tutorial and reference guide, at: http://anaconda-project.readthedocs.io/en/latest/index.html

If you've been using conda env and environment.yml

anaconda-project has similar functionality and may be more convenient. The advantage of anaconda-project for environment handling is that it performs conda operations, and records them in a config file for reproducibility, in one step.

For example, if you do anaconda-project add-packages bokeh=0.11, that will install Bokeh with conda, and add bokeh=0.11 to an environment spec in anaconda-project.yml (the effect is comparable to adding it to environment.yml). In this way, "your current conda environment's state" and "your configuration to be shared with others" won't get out of sync.

anaconda-project will also automatically set up environments for a colleague when they type anaconda-project run on their machine; they don't have to do a separate step to create, update, or activate environments before they run the code. This may be especially useful when you change the required dependencies; with conda env people can forget to re-run it and update their packages, while anaconda-project run will automatically add missing packages every time.

In addition to environment creation, anaconda-project can perform other kinds of setup, such as adding data files and running a database server. It's a superset of conda env in that sense.

Stability note

For the time being, the Anaconda project API and command line syntax are subject to change in future releases. A project created with the current β€œbeta” version of Anaconda project may always need to be run with that version of Anaconda project and not conda project 1.0. When we think things are solid, we’ll switch from β€œbeta” to β€œ1.0” and you’ll be able to rely on long-term interface stability.

Bug Reports

Please report issues right here on GitHub.

Contributing

Please see CONTRIBUTING.md in this directory.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].