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",
+    ]
+)