A "Best of the Best Practices" (BOBP) guide to developing in Python.
- "Build tools for others that you want to be built for you." - Kenneth Reitz
- "Simplicity is alway better than functionality." - Pieter Hintjens
def log_run(gridsearch: sklearn.GridSearchCV, experiment_name: str, model_name: str, run_index: int, conda_env, tags={}): | |
"""Logging of cross validation results to mlflow tracking server | |
Args: | |
experiment_name (str): experiment name | |
model_name (str): Name of the model | |
run_index (int): Index of the run (in Gridsearch) | |
conda_env (str): A dictionary that describes the conda environment (MLFlow Format) | |
tags (dict): Dictionary of extra data and tags (usually features) |
import setuptools | |
if __name__ == "__main__": | |
setuptools.setup( | |
name='RTP_python_template', | |
version="0.3.0", | |
description='A starting template for Python programs', | |
author='Doaa Altarawy', | |
author_email='[email protected]', | |
url="https://github.com/doaa-altarawy/RTP_python_template", |
language: python | |
# turn off sudo | |
sudo: false | |
# python versions to be tested | |
matrix: | |
include: | |
- python: 2.7 | |
- python: 3.5 |
# For more configuration details: | |
# https://docs.codecov.io/docs/codecov-yaml | |
# Check if this file is valid by running in bash: | |
# curl -X POST --data-binary @.codecov.yml https://codecov.io/validate | |
# Coverage configuration | |
# ---------------------- | |
coverage: | |
status: |
# Want to run your Flask tests with CSRF protections turned on, to make sure | |
# that CSRF works properly in production as well? Here's an excellent way | |
# to do it! | |
# First some imports. I'm assuming you're using Flask-WTF for CSRF protection. | |
import flask | |
from flask.testing import FlaskClient as BaseFlaskClient | |
from flask_wtf.csrf import generate_csrf | |
# Flask's assumptions about an incoming request don't quite match up with |
def get_count(q): | |
count_q = q.statement.with_only_columns([func.count()]).order_by(None) | |
count = q.session.execute(count_q).scalar() | |
return count | |
q = session.query(TestModel).filter(...).order_by(...) | |
# Slow: SELECT COUNT(*) FROM (SELECT ... FROM TestModel WHERE ...) ... | |
print q.count() |
#!/bin/bash | |
NAME="hello_app" # Name of the application | |
DJANGODIR=/webapps/hello_django/hello # Django project directory | |
SOCKFILE=/webapps/hello_django/run/gunicorn.sock # we will communicte using this unix socket | |
USER=hello # the user to run as | |
GROUP=webapps # the group to run as | |
NUM_WORKERS=3 # how many worker processes should Gunicorn spawn | |
DJANGO_SETTINGS_MODULE=hello.settings # which settings file should Django use | |
DJANGO_WSGI_MODULE=hello.wsgi # WSGI module name |
#get rid of anything from a mis-installed version | |
sudo apt-get --purge remove postgres* | |
sudo rm -rf /var/lib/postgresql | |
sudo deluser -remove-all-files postgres | |
#install the packages | |
sudo apt-get install postgresql-9.1 | |
sudo apt-get install pgadmin3 phppgadmin | |
#shutdown postgres database server |