Skip to content

Commit

Permalink
add rtd, lint
Browse files Browse the repository at this point in the history
  • Loading branch information
dcolinmorgan committed Jan 31, 2024
1 parent f792ac1 commit 798bbd9
Show file tree
Hide file tree
Showing 3 changed files with 345 additions and 6 deletions.
32 changes: 32 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.12"
# You can also specify other tool versions:
# nodejs: "19"
# rust: "1.64"
# golang: "1.19"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
# python:
# install:
# - requirements: docs/requirements.txt
288 changes: 288 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,288 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os, sys
from distutils.version import LooseVersion

# sys.path.insert(0, os.path.abspath('.'))
sys.path.insert(0, os.path.abspath("../.."))
sys.path.insert(0, os.path.abspath('../../'))
import cu_cat

# -- Project information -----------------------------------------------------

project = "CU_CAT"
copyright = "2023, Graphistry, Inc."
author = "Graphistry, Inc."

# The full version, including alpha/beta/rc tags
version = LooseVersion(cu_cat.__version__).vstring
relesae = version

# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
"sphinx.ext.autodoc",
#'sphinx.ext.autosummary',
#'sphinx.ext.intersphinx',
"sphinx.ext.ifconfig",
"sphinx_autodoc_typehints"
]


#FIXME Why is sphinx/autodoc failing here?
nitpick_ignore = [
('py:class', '1'), # Ex: api : Optional[Literal[1, 3]]
('py:class', '3'),
('py:class', "<class 'dict'>"),
('py:class', "<class 'str'>"),
('py:class', "cu_cat._datetime_encoder"),
('py:class', "cu_cat.deduplicate"),
('py:class', "cu_cat.dep_manager"),
('py:class', "cu_cat._gap_encoder"),
('py:class', "cu_cat._table_vectorizer"),
('py:class', 'Plotter'),
('py:class', 'Plottable'),
('py:class', 'CuGraphKind'),
('py:class', 'cugraph.Graph'),
('py:class', 'umap'),
('py:class', 'sentence_transformers'),
('py:class', 'dirty_cat'),
('py:class', 'cu_cat'),
('py:class', 'sklearn'),
('py:class', 'scipy'),
('py:class', 'Pandas dataframe'),
('py:class', 'ArrowUploader'),
('py:class', 'json.encoder.JSONEncoder'),
('py:class', 'pandas.DataFrame'),
('py:class', 'pyarrow.lib.Table'),
('py:class', 'requests.models.Response'),
('py:class', 'weakref.WeakKeyDictionary'),
('py:data', 'typing.Any'),
('py:data', 'typing.List'),
('py:data', 'typing.Literal'),
('py:data', 'typing.Optional'),
('py:data', 'typing.Callable'),
('py:data', 'typing.Tuple'),
('py:data', 'typing.Union'),
('py:class', 'Mode'),
('py:class','pandas.core.frame.DataFrame'),

]

set_type_checking_flag = True
# typehints_fully_qualified=True
always_document_param_types = True
typehints_document_rtype = True

# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]

# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
# source_suffix = ['.rst', '.md']
source_suffix = ".rst"

# The encoding of source files.
source_encoding = "utf-8-sig"

# The master toctree document.
master_doc = "index"

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = []

pygments_style = "sphinx"
todo_include_todos = False

# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = [] # '_static'

html_show_sphinx = False
html_show_sourcelink = False

htmlhelp_basename = "CuCatdoc"


# -- Options for LaTeX output ---------------------------------------------

latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
# Latex figure (float) alignment
#'figure_align': 'htbp',
}

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(
master_doc,
"CuCat.tex",
u"CuCat Documentation",
u"Graphistry, Inc.",
"manual",
),
]

# The name of an image file (relative to this directory) to place at the top of
# the title page.
# latex_logo = None

# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
# latex_use_parts = False

# If true, show page references after internal links.
# latex_show_pagerefs = False

# If true, show URL addresses after external links.
# latex_show_urls = False

# Documents to append as an appendix to all manuals.
# latex_appendices = []

# If false, no module index is generated.
latex_domain_indices = False


# -- Options for manual page output ---------------------------------------

# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [(master_doc, "cu_cat", u"CuCat Documentation", [author], 1)]

# If true, show URL addresses after external links.
# man_show_urls = False


# -- Options for Texinfo output -------------------------------------------

# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(
master_doc,
"CuCat",
u"CuCat Documentation",
author,
"PyGraphistry",
"One line description of project.",
"Miscellaneous",
),
]

# Documents to append as an appendix to all manuals.
# texinfo_appendices = []

# If false, no module index is generated.
texinfo_domain_indices = False

# How to display URL addresses: 'footnote', 'no', or 'inline'.
# texinfo_show_urls = 'footnote'

# If true, do not generate a @detailmenu in the "Top" node's menu.
# texinfo_no_detailmenu = False


# -- Options for Epub output ----------------------------------------------

# Bibliographic Dublin Core info.
epub_title = project
epub_author = author
epub_publisher = author
epub_copyright = copyright

# The basename for the epub file. It defaults to the project name.
# epub_basename = project

# The HTML theme for the epub output. Since the default themes are not optimized
# for small screen space, using the same theme for HTML and epub output is
# usually not wise. This defaults to 'epub', a theme designed to save visual
# space.
# epub_theme = 'epub'

# The language of the text. It defaults to the language option
# or 'en' if the language is not set.
# epub_language = ''

# The scheme of the identifier. Typical schemes are ISBN or URL.
# epub_scheme = ''

# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
# epub_identifier = ''

# A unique identification for the text.
# epub_uid = ''

# A tuple containing the cover image and cover page html template filenames.
# epub_cover = ()

# A sequence of (type, uri, title) tuples for the guide element of content.opf.
# epub_guide = ()

# HTML files that should be inserted before the pages created by sphinx.
# The format is a list of tuples containing the path and title.
# epub_pre_files = []

# HTML files shat should be inserted after the pages created by sphinx.
# The format is a list of tuples containing the path and title.
# epub_post_files = []

# A list of files that should not be packed into the epub file.
epub_exclude_files = ["search.html"]

# The depth of the table of contents in toc.ncx.
# epub_tocdepth = 3

# Allow duplicate toc entries.
# epub_tocdup = True

# Choose between 'default' and 'includehidden'.
# epub_tocscope = 'default'

# Fix unsupported image types using the Pillow.
# epub_fix_images = False

# Scale large images.
# epub_max_image_width = 0

# How to display URL addresses: 'footnote', 'no', or 'inline'.
# epub_show_urls = 'inline'

# If false, no index is generated.
# epub_use_index = True


# Example configuration for intersphinx: refer to the Python standard library.
# intersphinx_mapping = {'https://docs.python.org/': None}
31 changes: 25 additions & 6 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,42 @@ def unique_flatten_dict(d):
# 'cupy'
]

# if __name__ == "__main__":
stubs = [
'pandas-stubs', 'types-requests', 'ipython', 'tqdm-stubs'
]

dev_extras = {
'docs': ['sphinx==3.4.3', 'docutils==0.16', 'sphinx_autodoc_typehints==1.11.1', 'sphinx-rtd-theme==0.5.1', 'Jinja2<3.1'],
'test': ['flake8>=5.0', 'mock', 'mypy', 'pytest'] + stubs,
'testai': [
'numba>=0.57.1' # https://github.com/numba/numba/issues/8615
],
'build': ['build']
}
extras_require = {

**dev_extras,

}

setup(
name='cu-cat',
version='0.09.09', # versioneer.get_version(),
# cmdclass='0.9.09', # versioneer.get_cmdclass(),
version='v0.09.09',
# cmdclass=versioneer.get_cmdclass(),
packages = find_packages(),
platforms='any',
description = 'An end-to-end gpu Python library that encodes categorical variables into machine-learnable numerics',
long_description=open("./README.md").read(),
long_description_content_type='text/markdown',
url='https://github.com/graphistry/cu-cat',
download_url= 'https://github.com/graphistry/cu-cat',
python_requires='>3.7',
python_requires='>=3.7',
author='The Graphistry Team',
author_email='[email protected]',
install_requires=core_requires, # for github actions
install_requires=core_requires,
extras_require=extras_require,
license='BSD',
# dependency_links=['https://pypi.nvidia.com'],

keywords=['cudf', 'cuml', 'GPU', 'Rapids']
)

0 comments on commit 798bbd9

Please sign in to comment.