Boulder Python Website
Our website grew out of @iandouglas's Flask + Google App Engine template. What kind of Python community would we be if our site wasn't also developed using Python?? :)
Official Documentation: boulderpythonorg.readthedocs.io
A Community in Progress
We are a group of python developers, scientists, automators, and enthusiasts that gather once a month in Boulder, Colorado to discuss all things python. We usually meet on the 2nd Tuesday of each month. You can find and engage with us on Meetup, Twitter, and Slack (#meetup-python) and (#help-python).
Speak at a Meetup
We're always looking for speakers at our meetups. Whether you have a short talk, long talk, or just an idea for a talk, we'd love to have you. Submit your talk directly on boulderpython.org.
Galvanize Boulder hosts our meetups and provides tasty food, beer, and refreshments (along with full stack and data science bootcamp programs). Contact xxx to learn more.
Spigot Labs - Add RFID to your beer, wine, and food festivals to track tastes and interactions between patrons and vendors.
Cuttlesoft - Cuttlesoft is a custom software agency. They craft beautifully designed and highly scalable solutions for web, mobile, IoT, and the cloud.
Code of Conduct
Our community has implemented the PyCon "Code of Conduct" for ensuring all members attending our sessions, meetups, and events feel included and heard. Thanks for your mutual respect to one another.
We welcome contributions, changes, and corrections to our website. Please submit a pull request.
As of 2018, the Flask application features a few new integrations. Notably, they're the Meetup API, Trello, and MailChimp integrations. We want to keep this project public, so we have to be careful with our API keys. To get around this, we use a simple config file, here's how we set it up:
- Copy the
local-example.cfgand fill it with your API Keys and settings.
- Be careful NOT to commit this file into your fork/repo
To run the application now, use:
$ FLASK_CONFIG=local.cfg flask runserver
You can easily run the tests suite from the command line:
pytest has a set of optional arguments that can enable many options and plugins.
Here are some we recommend:
- `-v/--verbose` increases verbosity on py.test output - `-x` exit after first failure - `-rs` enables skipped test report - `--cov` enables code coverage - `--flake8` enables pep8 and pyflakes testing via [flake8](http://flake8.pycqa.org/en/latest/)
For example, our test run uses:
$ py.test tests --verbose --cov --cov-report term-missing --flake8 application
Check out pytest's usage docs.
Building Static Assets
With npm and gulp installed, simply run:
The default gulp command builds scss and concatenates scripts into
app.js, respectively. It will also
begin the gulp watch command so if you save any changes in your scss and js files, gulp rebuilds them automatically.
We now use Celery to handle Trello webhooks and send out emails to speakers.
Celery requires a task broker. Either RabbitMQ or Redis are good choices.
To run Celery, use the following command:
$ FLASK_CONFIG=local.cfg flask celeryd