-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
36 lines (31 loc) · 1.24 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from setuptools import setup, find_packages
from typing import List
#Declaring variables for setup functions
PROJECT_NAME = "Insurance Premium Prediction"
VERSION = "0.0.2"
AUTHOR = "Akintayo Akinpelu"
DESCRIPTION = "This is an end-to-end MLOPs Project"
REQUIREMENT_FILE_NAME = "requirements.txt"
HYPHEN_E_DOT = "-e ."
def get_requirements_list()->List[str]:
"""
Description: This function is going to return list of requirement
mention in requirements.txt file
This function is going to return a list which contain name
of libraries mentioned in requirements.txt file
"""
with open(REQUIREMENT_FILE_NAME) as requirement_file:
requirement_list = requirement_file.readlines()
requirement_list = [requirement_name.replace("\n", "") for requirement_name in requirement_list]
if HYPHEN_E_DOT in requirement_list:
requirement_list.remove(HYPHEN_E_DOT)
return requirement_list
setup(
name=PROJECT_NAME,
version=VERSION,
author=AUTHOR,
description=DESCRIPTION,
packages=find_packages(),
install_requires=get_requirements_list())
#find_packages is used to install -e . hence it must be removed in get_requirements_list(),
# because it can't be installed twice