Skip to content

Commit

Permalink
First version of CI and docs
Browse files Browse the repository at this point in the history
  • Loading branch information
champsblanc committed Apr 11, 2023
1 parent 5f65a2d commit aeba737
Show file tree
Hide file tree
Showing 11 changed files with 382 additions and 1 deletion.
15 changes: 15 additions & 0 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

[bumpversion]
current_version = 0.0.1
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-(?P<release>\w+)\.(?P<build>\d+))?
serialize =
{major}.{minor}.{patch}-{release}.{build}
{major}.{minor}.{patch}
commit = True
tag = True

[bumpversion:file:mercury/robust/__init__.py]

[bumpversion:file:README.md]

[bumpversion:file:docs/index.md]
25 changes: 25 additions & 0 deletions .github/.workflows/docs-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Publish Docs

on:
release:
types: [published]

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .['doc']
- name: Publish docs
uses: actions/cache@v2
with:
key: ${{ github.ref }}
path: .cache
- run: python -m mkdocs gh-deploy --force
27 changes: 27 additions & 0 deletions .github/.workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Upload Python Package

on:
release:
types: [published]

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: ${{ secrets.pypi_user }}
password: ${{ secrets.pypi_password }}
packages_dir: ./dist/
37 changes: 37 additions & 0 deletions .github/.workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Mercury-Explainability

on:
push:
branches: [ "main", "develop" ]
pull_request:
branches: [ "main", "develop" ]

jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install package
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest build
python -m pip install -e .[dev]
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest
- name: Test build
run: |
python -m build
119 changes: 119 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/
docs/build/
# Ignore autogenerated doc directory
docs/source/_api
# Generated directories when running make notebooks
docs/notebooks/*/
# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# dotenv
.env

# virtualenv
.venv
venv/
ENV/

# Spyder project settings
.spyderproject
.spyproject

# VS code project settings
.vscode

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/

#Idea/PyCharm project settings
.idea

python3-env/

# MacOS files
.DS_Store

docs/notebooks/*/
29 changes: 28 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,29 @@
# mercury-explainability
Un pequeño framework con implementaciones de diferentes métodos punteros en el campo de la explicabilidad. Están diseñados para trabajar eficientemente y para ser fácilmente integrables con los principales frameworks de Machine Learning

[![](https://github.com/BBVA/mercury-explainability/actions/workflows/test.yml/badge.svg)](https://github.com/BBVA/mercury-explainability)
![](https://img.shields.io/badge/latest-0.0.1-blue)

***mercury-explainability*** is a library with implementations of different state-of-the-art methods in the field of explainability. They are designed to work efficiently and to be easily integrated with the main Machine Learning frameworks.

## Mercury project at BBVA

Mercury is a collaborative library that was developed by the Advanced Analytics community at BBVA. Originally, it was created as an [InnerSource](https://en.wikipedia.org/wiki/Inner_source) project but after some time, we decided to release certain parts of the project as Open Source.
That's the case with the `mercury-explainability` package.

If you're interested in learning more about the Mercury project, we recommend reading this blog [post](https://www.bbvaaifactory.com/mercury-acelerando-la-reutilizacion-en-ciencia-de-datos-dentro-de-bbva/) from www.bbvaaifactory.com

## User installation

The easiest way to install `mercury-explainability` is using ``pip``:

pip install -U mercury-explainability

## Help and support

This library is currently maintained by a dedicated team of data scientists and machine learning engineers from BBVA AI Factory.

### Documentation
website: https://bbva.github.io/mercury-explainability/

### Email
[email protected]
29 changes: 29 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# mercury-explainability

[![](https://github.com/BBVA/mercury-explainability/actions/workflows/test.yml/badge.svg)](https://github.com/BBVA/mercury-explainability)
![](https://img.shields.io/badge/latest-0.0.1-blue)

***mercury-explainability*** is a library with implementations of different state-of-the-art methods in the field of explainability. They are designed to work efficiently and to be easily integrated with the main Machine Learning frameworks.

## Mercury project at BBVA

Mercury is a collaborative library that was developed by the Advanced Analytics community at BBVA. Originally, it was created as an [InnerSource](https://en.wikipedia.org/wiki/Inner_source) project but after some time, we decided to release certain parts of the project as Open Source.
That's the case with the `mercury-explainability` package.

If you're interested in learning more about the Mercury project, we recommend reading this blog [post](https://www.bbvaaifactory.com/mercury-acelerando-la-reutilizacion-en-ciencia-de-datos-dentro-de-bbva/) from www.bbvaaifactory.com

## User installation

The easiest way to install `mercury-explainability` is using ``pip``:

pip install -U mercury-explainability

## Help and support

This library is currently maintained by a dedicated team of data scientists and machine learning engineers from BBVA AI Factory.

### Documentation
website: https://bbva.github.io/mercury-explainability/

### Email
[email protected]
3 changes: 3 additions & 0 deletions docs/reference/explainers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Base Tests

::: mercury.explainability.explainers
3 changes: 3 additions & 0 deletions docs/reference/explanations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Explanations

::: mercury.explainability.explanations
42 changes: 42 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
site_name: mercury-explainability
repo_url: https://github.com/BBVA/mercury-explainability/
repo_name: mercury-explainability
theme:
name: material
features:
- tabs
- navigation.indexes
icon:
logo: material/book-open-page-variant
repo: fontawesome/brands/github
site_dir: site
nav:
- Home: index.md
- Api:
- base tests: reference/basetests.md
- data tests: reference/data_tests.md
- model tests: reference/model_tests.md
markdown_extensions:
- codehilite
- admonition
- pymdownx.superfences
- pymdownx.arithmatex:
generic: true
extra_css:
- stylesheets/extra.css
extra_javascript:
- javascripts/config.js
- https://polyfill.io/v3/polyfill.min.js?features=es6
- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
plugins:
- mkdocstrings:
handlers:
python:
options:
show_root_heading: true
show_submodules: true
merge_init_into_class: true
docstring_style: google
watch:
- mercury/robust
dev_addr: 0.0.0.0:8080
Loading

0 comments on commit aeba737

Please sign in to comment.