Skip to content

Commit bc7e947

Browse files
committed
New version with updated setup.py
1 parent 29046b6 commit bc7e947

6 files changed

+160
-36
lines changed

README.md

+26-10
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,17 @@ With AutoViz, you can easily and quickly generate insightful visualizations for
3434
The latest updates about `autoviz` library can be found in <a href="https://github.com/AutoViML/AutoViz/blob/master/updates.md">Updates page</a>.
3535

3636
## ImportantAnnouncement
37-
### Starting with version 0.1.801, an important Update Regarding Dependency Management
38-
We're excited to announce a significant update to AutoViz that enhances compatibility with various Python versions and streamlines dependency management!
39-
<li>Modular Dependency Loading: AutoViz now uses a more flexible approach for importing visualization libraries starting with version `0.1.801`. This means you only need to install certain dependencies (like hvplot and holoviews) if you plan to use specific backends (e.g., bokeh). This change significantly reduces installation issues for users on newer Python versions such as 3.10 and higher.</li>
37+
### Starting with version 0.1.807, an important update regarding Python Version Management
38+
<li>We're excited to announce we've made significant updates to our `setup.py` script to dynamically manage dependencies based on your Python version. This means that when you install AutoViz, the installation process will automatically select versions of dependencies such as HoloViews, Bokeh, and hvPlot that are best suited to your specific Python environment.
4039

41-
<li>Improved Backend Support: Depending on your Python environment, AutoViz dynamically adjusts to use compatible visualization libraries, ensuring a smoother user experience. Requirements:
42-
"holoviews>=1.14.9",
43-
"bokeh>=2.4.2",
44-
"hvplot>=0.7.3",
45-
"panel>=0.12.6".
46-
</li>
40+
For `Python versions below 3.10`, AutoViz will use versions of its dependencies known to be stable and compatible with older Python versions.
41+
42+
For `Python 3.10`, the script has been configured to use updated dependencies that address specific fixes and enhancements relevant to this version.
43+
44+
For `Python 3.11 and newer versions`, setup.py ensures compatibility by selecting library versions that support the latest Python features and fixes, including critical updates made in HoloViews for Python 3.11 support.</li>
4745

4846
### What Does This Mean for You?
49-
<li>Easier Installation: If you've faced challenges installing AutoViz due to dependency conflicts, this update is for you. Now, you can install AutoViz without needing to install all its visualization dependencies upfront.</li>
47+
<li><b>Easier Installation</b>: This approach allows AutoViz to leverage the latest advancements in our dependencies while maintaining robust support for older Python versions. The installation process is seamless—simply run pip install . in the AutoViz directory, and the script takes care of the rest, tailoring the installation to your environment.</li>
5048

5149
<li>Tailored Usage: Choose the visualization backend that works best for your environment. AutoViz will handle the rest, importing necessary libraries as needed.</li>
5250

@@ -94,9 +92,27 @@ git clone [email protected]:AutoViML/AutoViz.git
9492
conda create -n <your_env_name> python=3.7 anaconda
9593
conda activate <your_env_name> # ON WINDOWS: `source activate <your_env_name>`
9694
cd AutoViz
95+
```
96+
For Python versions below 3.10, install dependencies as follows:
97+
98+
```
9799
pip install -r requirements.txt
98100
```
99101

102+
For Python 3.10, please use:
103+
104+
```
105+
pip install -r requirements-py310.txt
106+
```
107+
108+
For Python 3.11 and above, it's recommended to use:
109+
110+
```
111+
pip install -r requirements-py311.txt
112+
```
113+
114+
These requirement files ensure that AutoViz works seamlessly with your Python environment by installing compatible versions of libraries like HoloViews, Bokeh, and hvPlot. Please select the requirement file that corresponds to your Python version to enjoy a smooth experience with AutoViz.</li>
115+
100116
## Usage
101117
Discover how to use AutoViz in this Medium article.
102118

autoviz/__version__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
__author__ = "Ram Seshadri"
66
__description__ = "Automatically Visualize any data set any size with a Single Line of Code"
77
__url__ = "https://github.com/AutoViML/AutoViz.git"
8-
__version__ = "0.1.806"
8+
__version__ = "0.1.807"
99
__holo_version__ = "0.0.4"
1010
__license__ = "Apache License 2.0"
1111
__copyright__ = "2020-21 Google"

old_setup.py

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import setuptools
2+
3+
with open("README.md", "r") as fh:
4+
long_description = fh.read()
5+
6+
setuptools.setup(
7+
name="autoviz",
8+
version="0.1.806",
9+
author="Ram Seshadri",
10+
# author_email="[email protected]",
11+
description="Automatically Visualize any dataset, any size with a single line of code",
12+
long_description=long_description,
13+
long_description_content_type="text/markdown",
14+
license='Apache License 2.0',
15+
url="https://github.com/AutoViML/AutoViz.git",
16+
packages=setuptools.find_packages(exclude=("tests",)),
17+
install_requires=[
18+
"xlrd",
19+
"wordcloud",
20+
"emoji",
21+
"numpy<1.25.0",
22+
"pandas",
23+
"pyamg",
24+
"matplotlib<=3.7.4",
25+
"seaborn>=0.12.2",
26+
"scikit-learn",
27+
"statsmodels",
28+
"nltk",
29+
"textblob",
30+
"holoviews~=1.14.9",
31+
"bokeh~=2.4.2",
32+
"hvplot~=0.7.3",
33+
"panel>=0.12.6",
34+
"xgboost>=0.82,<1.7",
35+
"fsspec>=0.8.3",
36+
"typing-extensions>=4.1.1",
37+
"pandas-dq>=1.29"
38+
],
39+
classifiers=[
40+
"Programming Language :: Python :: 3",
41+
"Operating System :: OS Independent",
42+
],
43+
)

requirements-py310.txt

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
xlrd
2+
wordcloud
3+
numpy>=1.25.0 # Adjust as necessary
4+
pyamg
5+
pandas
6+
nltk
7+
emoji
8+
textblob
9+
matplotlib>=3.7.4 # Adjust as necessary
10+
seaborn>=0.12.2
11+
scikit-learn
12+
statsmodels
13+
holoviews>=1.16.0
14+
bokeh>=2.4.2 # Ensure compatibility
15+
hvplot>=0.7.3 # Ensure compatibility
16+
panel>=0.12.6
17+
xgboost>=0.82,<1.7
18+
fsspec>=0.8.3
19+
typing-extensions>=4.1.1
20+
pandas-dq>=1.29

requirements-py311.txt

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
xlrd
2+
wordcloud
3+
numpy>=1.25.0 # Adjust as necessary
4+
pyamg
5+
pandas
6+
nltk
7+
emoji
8+
textblob
9+
matplotlib>=3.7.4 # Adjust as necessary
10+
seaborn>=0.12.2
11+
scikit-learn
12+
statsmodels
13+
holoviews>=1.15.3 # For Python 3.11 support
14+
bokeh>=2.4.2 # Ensure compatibility
15+
hvplot>=0.7.3 # Ensure compatibility
16+
panel>=0.12.6
17+
xgboost>=0.82,<1.7
18+
fsspec>=0.8.3
19+
typing-extensions>=4.1.1
20+
pandas-dq>=1.29

setup.py

+50-25
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,68 @@
11
import setuptools
2+
import sys
23

34
with open("README.md", "r") as fh:
45
long_description = fh.read()
56

7+
# Determine the Python version
8+
python_version = sys.version_info
9+
10+
# Define default dependencies (compatible with older Python versions)
11+
install_requires = [
12+
"xlrd",
13+
"wordcloud",
14+
"emoji",
15+
# Assuming numpy version <1.25.0 is compatible with older Python versions and older HoloViews
16+
"numpy<1.25.0",
17+
"pandas",
18+
"pyamg",
19+
"matplotlib<=3.7.4", # Specify versions compatible with older Python versions
20+
"seaborn>=0.12.2",
21+
"scikit-learn",
22+
"statsmodels",
23+
"nltk",
24+
"textblob",
25+
"holoviews~=1.14.9", # Older compatible version
26+
"bokeh~=2.4.2", # Ensure compatibility with older HoloViews
27+
"hvplot~=0.7.3", # Older compatible version
28+
"panel>=0.12.6",
29+
"xgboost>=0.82,<1.7",
30+
"fsspec>=0.8.3",
31+
"typing-extensions>=4.1.1",
32+
"pandas-dq>=1.29"
33+
]
34+
35+
# For Python versions >= 3.10 and < 3.11, update the dependency list
36+
if (3, 10) <= python_version < (3, 11):
37+
install_requires = [
38+
# Keep most dependencies as is, adjust only where necessary
39+
"numpy>=1.25.0", # Update as needed for compatibility with newer HoloViews
40+
# Update other dependencies as needed
41+
"holoviews>=1.16.0", # Update based on the bug fix relevant to Python 3.10
42+
# Ensure other dependencies are compatible
43+
]
44+
45+
# For Python versions >= 3.11, ensure HoloViews is at least 1.15.3 for the bug fix
46+
if python_version >= (3, 11):
47+
install_requires = [
48+
# Adjust dependencies as needed for Python 3.11
49+
"holoviews>=1.15.3", # Ensure version is >= 1.15.3 for Python 3.11 support
50+
# Update or keep other dependencies as needed
51+
]
52+
653
setuptools.setup(
754
name="autoviz",
8-
version="0.1.805",
55+
version="0.1.807",
956
author="Ram Seshadri",
10-
# author_email="[email protected]",
1157
description="Automatically Visualize any dataset, any size with a single line of code",
1258
long_description=long_description,
1359
long_description_content_type="text/markdown",
1460
license='Apache License 2.0',
1561
url="https://github.com/AutoViML/AutoViz.git",
1662
packages=setuptools.find_packages(exclude=("tests",)),
17-
install_requires=[
18-
"xlrd",
19-
"wordcloud",
20-
"emoji",
21-
"numpy<1.25.0",
22-
"pandas",
23-
"pyamg",
24-
"matplotlib<=3.7.4",
25-
"seaborn>=0.12.2",
26-
"scikit-learn",
27-
"statsmodels",
28-
"nltk",
29-
"textblob",
30-
"holoviews~=1.14.9",
31-
"bokeh~=2.4.2",
32-
"hvplot~=0.7.3",
33-
"panel>=0.12.6",
34-
"xgboost>=0.82,<1.7",
35-
"fsspec>=0.8.3",
36-
"typing-extensions>=4.1.1",
37-
"pandas-dq>=1.29"
38-
],
63+
install_requires=install_requires,
3964
classifiers=[
4065
"Programming Language :: Python :: 3",
4166
"Operating System :: OS Independent",
4267
],
43-
)
68+
)

0 commit comments

Comments
 (0)