This project is has now moved to the AFRL-RY/SensorCraft github page and the project now has a website https://sensorcraft.org. Check out new chapters that have been added.
Introduction YouTube video is now available! Open source tools and code to teach 5th – 12th graders Python Programming within a Minecraft environment. Most people are familiar with Minecraft (Minecraft is developed by Mojang and not related to this project nor do they endorse this project), for this project we are using a “world of blocks” environment created in the Python programming language that will allow children to explore simulations in order to conduct their own scientific experiments. Kids can change gravity, learn how to build structures programmatically, and even launch a rocket. The Air Force Research Laboratory (AFRL) Sensors Directorate located in Dayton, Ohio created this project to inspire kids of all ages to learn to program and at the same time get an idea of what it is like to be a Scientist or Engineer for the United States Air Force.
To get started download the latest release zip file and unzip, then open the file "index.html" file in your browser.
A YouTube video has been created to show students how to install SensorCraft and Enthought Canopy then run the examples. The video is for Mac OS X but the process for Windows and Linux is similar. SensorCraft supports both Python 2.7 and Python 3.x, make sure you install a version of Enthought Canopy that supports Python 2.7 or Python 3.x.
v1.7.1 Changed gravity and jump height back to default
v1.7 Crushed bugs and added a new chapter on creating the NMUSAF
v1.6 Much improved install and run directions
The latest version will always be on the github project site.
For STEM events we have created a CD from this content, to begin with the CD open index.html
Last commit before March 3rd, 2016 demonstration for My Brother's Keeper STEM Event
Overview of the products in this directory for the CD release:
- HTML web version that can be open in web browser is in _build/html/index.html
- PDFs of the web pages are in PDFs/
- code includes python code for the different exercises
- images the images that appear in the PDFs and HTML
- OriginalFoglemanCode the code started
- SensorCraftLogo is a directory with the CD cover and RYA generated art work
- EnthoughtCanopy directory contains Windows and Mac versions of Enthought Canopy Express, please check the Enthought web site for the latest version
The CD doesn't have the rocket launch chapter so consider updating from the latest github release.
Python is an open source programming language and it's logo is meant to be used on Python derived products see https://www.python.org/community/logos/
We believe this product conforms to the Python Software Foundation's policy.
Mojang the creators of Minecraft are liberal with their IP: https://account.mojang.com/documents/brand_guidelines
We believe this product conforms to Mojang's guidelines.
Included on the CD is Enthought Canopy Express which is a Python distribution that includes Python plus pyglet that performs the OpenGL work. In addition Enthought Canopy Express includes an excellent editor that will make it easier to work with the code. Enthought offers an academic product that is free for students and teachers, more details are provided at Enthought's web site
Question 10 of Enthought's Canopy FAQ grants us permission to redistribute Enthought Canopy Express and can include it on CDs or DVDs.
This project is done with restructured text which is Python's default for documentation it creates html pages.
References to Sphinx documentation: https://pythonhosted.org/an_example_pypi_project/sphinx.html
Assume the version we are going to release is 1.5 and will reside in ~/temp/SensorCraftV1.5. The makefile within the project will build the html files with this command:
cd /Volumes/SecureCode/SensorCraft/guide make clean && make html mkdir ~/temp/SensorCraftV1.5 cd _build/html cp -av * ~/temp/SensorCraftV1.5 cp ~/temp/SensorCraftV1.5/index.html ~/temp/SensorCraftV1.5/START_HERE.html cd ../../.. cp -av code ~/temp/SensorCraftV1.5/ cd ~/temp zip -r SensorCraftV1.5.zip SensorCraftV1.5 cd /Volumes/SecureCode/SensorCraft
Makes changes to the README.rst to reflect a new release, then perform the following commands:
git commit -a git tag -a v1.5 -m "version 1.5 - Directory consolidation" git push git push --tags
pyglet for OpenGL support and sphinx to build the documentation
GitHub has a RESTFul API so use the CURL commands:
curl -i https://api.github.com/repos/rovitotv/SensorCraft/releases &> ~/temp/GHSensorCraftRelease.txt cat ~/temp/GHSensorCraftRelease.txt | grep 'download_count'
First, rename the "code" directory to "sensorcraft" to specify the name of the package. Move the images directory into the directory that is now named "sensorcraft." Then, rename the "guide" directory to "docs" to let the package know that it contains the documentation.
Create a new file in your user's home directory using terminal with the following commands:
cd /Users/(your_username) mkfile -n 1024 .pypirc
In that file, type the following and then save it:
[distutils] index-servers = pypi [pypi] username=your_username password=your_password
Go into terminal and enter the following to install twine which will be used to upload the package to PyPi:
pip install twine
Finally, create and upload the package to PyPi with these final commands while in the directory containing the package directory:
python setup.py sdist twine upload dist/PACKAGENAME-VERSION.tar.gz
References for creating a PyPi package: https://tom-christie.github.io/articles/pypi/ https://packaging.python.org/tutorials/distributing-packages/