Mercurial > public > python-black-scholes
changeset 2:3eb56c7efd31
add build config
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Tue, 16 Nov 2021 17:44:53 +0100 |
parents | b853194dc28b |
children | 2d78ef7a90e6 |
files | Dockerfile setup.py |
diffstat | 2 files changed, 66 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dockerfile Tue Nov 16 17:44:53 2021 +0100 @@ -0,0 +1,16 @@ +# syntax=docker/dockerfile:1 + +# Install Python image +FROM python:3.8-slim-buster + +# Create working directory and install dependencies +WORKDIR /fucking-black-sholes + +# Copy files +COPY . . + +# Install package +RUN ["python", "setup.py", "install"] + +# Test package +CMD fbs --spot-price=20.00 --exercise-price=21.00 --risk-free-rate=0.05 --std=0.25 --expiration=0.5 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/setup.py Tue Nov 16 17:44:53 2021 +0100 @@ -0,0 +1,50 @@ +from setuptools import setup, find_packages +from io import open +from os import path +# noinspection PyCompatibility +import pathlib + +# The directory containing this file +HERE = pathlib.Path(__file__).parent + +# The text of the README file +README = (HERE / "README.md").read_text() + +# Automatically captured required modules for install_requires in requirements.txt +# and as well as configure dependency links +with open(path.join(HERE, 'requirements.txt'), encoding='utf-8') as f: + all_reqs = f.read().split('\n') + +install_requires = [x.strip() for x in all_reqs if ('git+' not in x) and ( + not x.startswith('#')) and (not x.startswith('-'))] + +dependency_links = [x.strip().replace('git+', '') for x in all_reqs if 'git+' not in x] + +setup( + name='fucking-black-scholes', + description='A simple command line tool for pricing options using the Black-Scholes model', + version='0.0.1', + packages=find_packages(), # List of all packages + install_requires=install_requires, + python_requires='>=2.7', # Any python greater than 2.7 + entry_points=''' + [console_scripts] + fbs=fbs.main:cli + ''', + author="Dennis Concepción Martín", + keyword="finance, black-scholes, option, pricing, derivative", + long_description=README, + long_description_content_type="text/markdown", + license='MIT', + url='https://github.com/denniscm190/fucking-black-scholes', + download_url='https://github.com/denniscm190/fucking-black-scholes/archive/0.0.1.tar.gz', + dependency_links=dependency_links, + author_email='dennisconcepcionmartin@gmail.com', + classifiers=[ + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + ] +)