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 |