Coder Social home page Coder Social logo

humbledata / beginners-data-workshop Goto Github PK

View Code? Open in Web Editor NEW
38.0 7.0 35.0 2.09 MB

Humble Data aims to increase inclusivity and provide a safe community for Python and Data Science. We organise free workshops for people who are outside of the mainstream in the data science and tech industry.

Home Page: https://humbledata.org/

License: Other

Jupyter Notebook 96.01% Python 3.99%

beginners-data-workshop's Introduction

Humble Data Workshop

Humble Data Workshop

ℹ️ If you would like to know more about this workshop, please apply here.


Load the environment using pip-tools

# Activate environment
workon beginners-data-workshop

# Update packages from requirements.txt
# If this is the first time, then pip install pip-tools
pip-sync

# Install new package & update requirements.txt
pip install new-package-name
pip freeze  # to check version number

# Copy paste package & version to requirements.in
pip-compile
pip-sync

Attendee Setup

  1. Visit [https://bit.ly/humble-python-setup] to install Python onto your machine.
  2. The notebooks in this project should work great with Anaconda out of the box. If you want to create your own virtual environment for this workshop, your mentor will guide you through the simplest setup.

Note: The Development Setup outlined below will work for you, but is more complex than what you need to follow this workshop. This setup is designed to make it easy to upgrade Python dependencies (e.g. pandas, Seaborn), and run automated checks to highlight if any code in the notebooks is broken (we call this a "test suite").

Development Setup

This project uses pyenv, pyenv-virtualenvwrapper and Poetry. Please see here for a step-by-step installation guide.

# Install Python
pyenv install $(cat .python-version)
pyenv shell $(cat .python-version)
python -m pip install --upgrade pip
python -m pip install virtualenvwrapper
pyenv virtualenvwrapper

# Setup the virtualenv
mkvirtualenv -p python$(cat .python-version) $(cat .venv)
python -V
python -m pip install --upgrade pip

# Install dependencies with Poetry
poetry self update
poetry install --no-root --remove-untracked

# Create Jupyter Kernel
python -m ipykernel install --user --name beginners-data-workshop --display-name "Python (beginners-data-workshop)"

# Install Jupyter Extensions static files
jupyter contrib nbextension install --user
# More info: https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/install.html

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

beginners-data-workshop's People

Contributors

alexiglaser avatar cheukting avatar dependabot[bot] avatar fruch avatar jesperdramsch avatar john-sandall avatar kraulain avatar mmetzger avatar sandrinep avatar suvayu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

beginners-data-workshop's Issues

Misleading explanation for why python doess not require variable declarations

Hi!

I'm one of the mentors and while looking through the first notebook, I saw this explanation: "Python is an object oriented programming language. You do not need to declare variables (or their types) before using them as every variable in python is an object."

I don't think that's quite true. You do not need to declare variables or their types because Python is a dynamically typed language, not because it is object oriented. Java is object oriented and yet Java requires variable declarations with types. Maybe the confusion comes from this fact: Python has types; however, the types are linked not to the variable names but to the objects themselves (but this is not the case in Java, which is also object oriented).

Using Colab instead of Jupyter Notebooks

In the past workshops I've run for beginners, Colab is way easier for beginners to get started with. The most difficult part those workshops was setting up the environment/conda.

I suggest you consider colab as an option

Guideline for beginner's day set up

Write a md file to teach a person with no Python experience to set up a working environment on their computer to run the workshop.

  1. download Anaconda
  2. clone/download the repo
  3. run the notebook

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.