[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-giotto-ai--giotto-tda":3,"tool-giotto-ai--giotto-tda":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",157379,2,"2026-04-15T23:32:42",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":32,"env_os":97,"env_gpu":97,"env_ram":97,"env_deps":98,"category_tags":110,"github_topics":111,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":120,"updated_at":121,"faqs":122,"releases":151},7903,"giotto-ai\u002Fgiotto-tda","giotto-tda","A high-performance topological machine learning toolbox in Python","giotto-tda 是一个基于 Python 构建的高性能拓扑机器学习工具箱，旨在将复杂的拓扑数据分析（TDA）技术无缝集成到现代机器学习工作流中。它主要解决了传统机器学习方法在处理高维、非线性数据时难以捕捉全局形状特征和连通性结构的难题，帮助用户从数据中提取出更深层的几何洞察。\n\n这款工具特别适合数据科学家、机器学习研究人员以及需要处理复杂数据集的开发人员使用。无论是探索生物神经网络结构、分析金融时间序列，还是研究材料科学中的微观形态，giotto-tda 都能提供强大的算法支持。\n\n其核心技术亮点在于完全兼容 scikit-learn 接口，这意味着用户可以像使用常规机器学习模型一样轻松调用拓扑算法，无需重新学习复杂的 API。此外，它内置了高效的计算后端（如 pyflagser 和 python-igraph），并提供了丰富的可视化工具（基于 plotly），让抽象的拓扑特征变得直观可见。作为 Giotto 开源家族的一员，giotto-tda 由学术界与工业界联合研发，既保证了算法的前沿性，又兼顾了工程落地的稳定性，是探索数据“形状”奥秘的理想助手。",".. image:: https:\u002F\u002Fraw.githubusercontent.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fmaster\u002Fdoc\u002Fimages\u002Ftda_logo.svg\n   :width: 850\n\n|Version|_ |Azure-build|_ |Azure-cov|_ |Azure-test|_ |Twitter-follow|_ |Slack-join|_\n\n.. |Version| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fgiotto-tda\n.. _Version:\n\n.. |Azure-build| image:: https:\u002F\u002Fdev.azure.com\u002Fmaintainers\u002FGiotto\u002F_apis\u002Fbuild\u002Fstatus\u002Fgiotto-ai.giotto-tda?branchName=master\n.. _Azure-build: https:\u002F\u002Fdev.azure.com\u002Fmaintainers\u002FGiotto\u002F_build?definitionId=6&_a=summary&repositoryFilter=6&branchFilter=141&requestedForFilter=ae4334d8-48e3-4663-af95-cb6c654474ea\n\n.. |Azure-cov| image:: https:\u002F\u002Fimg.shields.io\u002Fazure-devops\u002Fcoverage\u002Fmaintainers\u002FGiotto\u002F6\u002Fmaster\n.. _Azure-cov:\n\n.. |Azure-test| image:: https:\u002F\u002Fimg.shields.io\u002Fazure-devops\u002Ftests\u002Fmaintainers\u002FGiotto\u002F6\u002Fmaster\n.. _Azure-test:\n\n.. |Twitter-follow| image:: https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fgiotto_ai?label=Follow%20%40giotto_ai&style=social\n.. _Twitter-follow: https:\u002F\u002Ftwitter.com\u002Fintent\u002Ffollow?screen_name=giotto_ai\n\n.. |Slack-join| image:: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-Join-yellow\n.. _Slack-join: https:\u002F\u002Fslack.giotto.ai\u002F\n\n==========\ngiotto-tda\n==========\n\n``giotto-tda`` is a high-performance topological machine learning toolbox in Python built on top of\n``scikit-learn`` and is distributed under the GNU AGPLv3 license. It is part of the `Giotto \u003Chttps:\u002F\u002Fgithub.com\u002Fgiotto-ai>`_\nfamily of open-source projects.\n\nProject genesis\n===============\n\n``giotto-tda`` is the result of a collaborative effort between `L2F SA \u003Chttps:\u002F\u002Fwww.l2f.ch\u002F>`_,\nthe `Laboratory for Topology and Neuroscience \u003Chttps:\u002F\u002Fwww.epfl.ch\u002Flabs\u002Fhessbellwald-lab\u002F>`_ at EPFL,\nand the `Institute of Reconfigurable & Embedded Digital Systems (REDS) \u003Chttps:\u002F\u002Fheig-vd.ch\u002Fen\u002Fresearch\u002Freds>`_ of HEIG-VD.\n\nLicense\n=======\n\n.. _L2F team: business@l2f.ch\n\n``giotto-tda`` is distributed under the AGPLv3 `license \u003Chttps:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fblob\u002Fmaster\u002FLICENSE>`_.\nIf you need a different distribution license, please contact the `L2F team`_.\n\nDocumentation\n=============\n\nPlease visit `https:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs \u003Chttps:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs>`_ and navigate to the version you are interested in.\n\nInstallation\n============\n\nDependencies\n------------\n\nThe latest stable version of ``giotto-tda`` requires:\n\n- Python (>= 3.7)\n- NumPy (>= 1.19.1)\n- SciPy (>= 1.5.0)\n- joblib (>= 0.16.0)\n- scikit-learn (>= 0.23.1)\n- pyflagser (>= 0.4.3)\n- python-igraph (>= 0.8.2)\n- plotly (>= 4.8.2)\n- ipywidgets (>= 7.5.1)\n\nTo run the examples, jupyter is required.\n\nUser installation\n-----------------\n\nThe simplest way to install ``giotto-tda`` is using ``pip``   ::\n\n    python -m pip install -U giotto-tda\n\nIf necessary, this will also automatically install all the above dependencies. Note: we recommend\nupgrading ``pip`` to a recent version as the above may fail on very old versions.\n\nPre-release, experimental builds containing recently added features, and\u002For\nbug fixes can be installed by running   ::\n\n    python -m pip install -U giotto-tda-nightly\n\nThe main difference between ``giotto-tda-nightly`` and the developer installation (see the section\non contributing, below) is that the former is shipped with pre-compiled wheels (similarly to the stable\nrelease) and hence does not require any C++ dependencies. As the main library module is called ``gtda`` in\nboth the stable and nightly versions, ``giotto-tda`` and ``giotto-tda-nightly`` should not be installed in\nthe same environment.\n\nDeveloper installation\n----------------------\n\nPlease consult the `dedicated page \u003Chttps:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs\u002Flatest\u002Finstallation.html#developer-installation>`_\nfor detailed instructions on how to build ``giotto-tda`` from sources across different platforms.\n\n.. _contributing-section:\n\nContributing\n============\n\nWe welcome new contributors of all experience levels. The Giotto\ncommunity goals are to be helpful, welcoming, and effective. To learn more about\nmaking a contribution to ``giotto-tda``, please consult `the relevant page\n\u003Chttps:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs\u002Flatest\u002Fcontributing\u002Findex.html>`_.\n\nTesting\n-------\n\nAfter developer installation, you can launch the test suite from outside the\nsource directory   ::\n\n    pytest gtda\n\nImportant links\n===============\n\n- Official source code repo: https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\n- Download releases: https:\u002F\u002Fpypi.org\u002Fproject\u002Fgiotto-tda\u002F\n- Issue tracker: https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fissues\n\n\nCiting giotto-tda\n=================\n\nIf you use ``giotto-tda`` in a scientific publication, we would appreciate citations to the following paper:\n\n   `giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration \u003Chttps:\u002F\u002Fwww.jmlr.org\u002Fpapers\u002Fvolume22\u002F20-325\u002F20-325.pdf>`_, Tauzin *et al*, J. Mach. Learn. Res. 22.39 (2021): 1-6.\n\nYou can use the following BibTeX entry:\n\n.. code:: bibtex\n\n    @article{giotto-tda,\n      author  = {Guillaume Tauzin and Umberto Lupo and Lewis Tunstall and Julian Burella P\\'{e}rez and Matteo Caorsi and Anibal M. Medina-Mardones and Alberto Dassatti and Kathryn Hess},\n      title   = {giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration},\n      journal = {Journal of Machine Learning Research},\n      year    = {2021},\n      volume  = {22},\n      number  = {39},\n      pages   = {1-6},\n      url     = {http:\u002F\u002Fjmlr.org\u002Fpapers\u002Fv22\u002F20-325.html}\n    }\n\nCommunity\n=========\n\ngiotto-ai Slack workspace: https:\u002F\u002Fslack.giotto.ai\u002F\n\nContacts\n========\n\nmaintainers@giotto.ai\n",".. image:: https:\u002F\u002Fraw.githubusercontent.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fmaster\u002Fdoc\u002Fimages\u002Ftda_logo.svg\n   :width: 850\n\n|Version|_ |Azure-build|_ |Azure-cov|_ |Azure-test|_ |Twitter-follow|_ |Slack-join|_\n\n.. |Version| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fgiotto-tda\n.. _Version:\n\n.. |Azure-build| image:: https:\u002F\u002Fdev.azure.com\u002Fmaintainers\u002FGiotto\u002F_apis\u002Fbuild\u002Fstatus\u002Fgiotto-ai.giotto-tda?branchName=master\n.. _Azure-build: https:\u002F\u002Fdev.azure.com\u002Fmaintainers\u002FGiotto\u002F_build?definitionId=6&_a=summary&repositoryFilter=6&branchFilter=141&requestedForFilter=ae4334d8-48e3-4663-af95-cb6c654474ea\n\n.. |Azure-cov| image:: https:\u002F\u002Fimg.shields.io\u002Fazure-devops\u002Fcoverage\u002Fmaintainers\u002FGiotto\u002F6\u002Fmaster\n.. _Azure-cov:\n\n.. |Azure-test| image:: https:\u002F\u002Fimg.shields.io\u002Fazure-devops\u002Ftests\u002Fmaintainers\u002FGiotto\u002F6\u002Fmaster\n.. _Azure-test:\n\n.. |Twitter-follow| image:: https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fgiotto_ai?label=Follow%20%40giotto_ai&style=social\n.. _Twitter-follow: https:\u002F\u002Ftwitter.com\u002Fintent\u002Ffollow?screen_name=giotto_ai\n\n.. |Slack-join| image:: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-Join-yellow\n.. _Slack-join: https:\u002F\u002Fslack.giotto.ai\u002F\n\n==========\ngiotto-tda\n==========\n\n``giotto-tda`` 是一个基于 `scikit-learn` 构建的高性能 Python 拓扑机器学习工具箱，采用 GNU AGPLv3 许可证进行分发。它是 `Giotto \u003Chttps:\u002F\u002Fgithub.com\u002Fgiotto-ai>`_ 开源项目家族的一部分。\n\n项目起源\n===============\n\n``giotto-tda`` 是由 `L2F SA \u003Chttps:\u002F\u002Fwww.l2f.ch\u002F>`_、EPFL 的 `拓扑与神经科学实验室 \u003Chttps:\u002F\u002Fwww.epfl.ch\u002Flabs\u002Fhessbellwald-lab\u002F>`_ 以及 HEIG-VD 的 `可重构与嵌入式数字系统研究所 (REDS) \u003Chttps:\u002F\u002Fheig-vd.ch\u002Fen\u002Fresearch\u002Freds>`_ 共同协作的成果。\n\n许可证\n=======\n\n.. _L2F team: business@l2f.ch\n\n``giotto-tda`` 采用 AGPLv3 许可证进行分发，许可证文本见：`https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fblob\u002Fmaster\u002FLICENSE`。如需其他分发许可，请联系 `L2F 团队`_。\n\n文档\n=============\n\n请访问 `https:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs \u003Chttps:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs>`_，并导航至您感兴趣的版本。\n\n安装\n============\n\n依赖项\n------------\n\n``giotto-tda`` 最新稳定版需要以下依赖：\n\n- Python (>= 3.7)\n- NumPy (>= 1.19.1)\n- SciPy (>= 1.5.0)\n- joblib (>= 0.16.0)\n- scikit-learn (>= 0.23.1)\n- pyflagser (>= 0.4.3)\n- python-igraph (>= 0.8.2)\n- plotly (>= 4.8.2)\n- ipywidgets (>= 7.5.1)\n\n运行示例还需要 Jupyter。\n\n用户安装\n-----------------\n\n安装 ``giotto-tda`` 最简单的方式是使用 `pip`   ::\n\n    python -m pip install -U giotto-tda\n\n如有必要，这也将自动安装上述所有依赖项。请注意：我们建议将 `pip` 升级到最新版本，因为在非常旧的版本上可能会失败。\n\n包含近期新增功能和\u002F或错误修复的预发布实验性版本可以通过以下命令安装：   ::\n\n    python -m pip install -U giotto-tda-nightly\n\n``giotto-tda-nightly`` 与开发者安装版本（见下文“贡献”部分）的主要区别在于，前者以预编译的 wheel 包形式发布（与稳定版类似），因此不需要任何 C++ 依赖。由于稳定版和夜间版中的主库模块都称为 `gtda`，因此不应在同一环境中同时安装 `giotto-tda` 和 `giotto-tda-nightly`。\n\n开发者安装\n----------------------\n\n有关如何在不同平台上从源代码构建 `giotto-tda` 的详细说明，请参阅 `专用页面 \u003Chttps:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs\u002Flatest\u002Finstallation.html#developer-installation>`_。\n\n.. _contributing-section:\n\n贡献\n============\n\n我们欢迎各经验水平的新贡献者。Giotto 社区的目标是提供帮助、友好且高效。如需了解更多关于为 `giotto-tda` 做出贡献的信息，请参阅 `相关页面 \u003Chttps:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs\u002Flatest\u002Fcontributing\u002Findex.html>`_。\n\n测试\n-------\n\n完成开发者安装后，您可以在源代码目录之外启动测试套件：   ::\n\n    pytest gtda\n\n重要链接\n===============\n\n- 官方源代码仓库：https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\n- 发布版本下载：https:\u002F\u002Fpypi.org\u002Fproject\u002Fgiotto-tda\u002F\n- 问题跟踪器：https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fissues\n\n\n引用 giotto-tda\n=================\n\n如果您在科学出版物中使用了 `giotto-tda`，我们非常感谢您引用以下论文：\n\n   `giotto-tda：用于机器学习和数据探索的拓扑数据分析工具包 \u003Chttps:\u002F\u002Fwww.jmlr.org\u002Fpapers\u002Fvolume22\u002F20-325\u002F20-325.pdf>`_, Tauzin 等人, J. Mach. Learn. Res. 22.39 (2021): 1-6。\n\n您可以使用以下 BibTeX 条目：\n\n.. code:: bibtex\n\n    @article{giotto-tda,\n      author  = {Guillaume Tauzin and Umberto Lupo and Lewis Tunstall and Julian Burella P\\'{e}rez and Matteo Caorsi and Anibal M. Medina-Mardones and Alberto Dassatti and Kathryn Hess},\n      title   = {giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration},\n      journal = {Journal of Machine Learning Research},\n      year    = {2021},\n      volume  = {22},\n      number  = {39},\n      pages   = {1-6},\n      url     = {http:\u002F\u002Fjmlr.org\u002Fpapers\u002Fv22\u002F20-325.html}\n    }\n\n社区\n=========\n\ngiotto-ai Slack 工作区：https:\u002F\u002Fslack.giotto.ai\u002F\n\n联系方式\n========\n\nmaintainers@giotto.ai","# giotto-tda 快速上手指南\n\n`giotto-tda` 是一个基于 `scikit-learn` 构建的高性能拓扑机器学习（Topological Machine Learning）Python 工具箱，专为机器学习和数据探索设计。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：支持 Linux、macOS 或 Windows（建议 Linux\u002FmacOS 以获得最佳性能）。\n*   **Python 版本**：>= 3.7\n*   **核心依赖**：安装时会自动处理以下库的依赖关系：\n    *   NumPy (>= 1.19.1)\n    *   SciPy (>= 1.5.0)\n    *   scikit-learn (>= 0.23.1)\n    *   joblib, pyflagser, python-igraph, plotly, ipywidgets 等\n\n> **提示**：运行示例代码需要安装 `jupyter`。\n\n## 安装步骤\n\n### 1. 升级 pip（推荐）\n为了避免在旧版本 pip 上安装失败，建议先升级包管理工具：\n```bash\npython -m pip install --upgrade pip\n```\n\n### 2. 安装稳定版\n使用 pip 直接安装最新稳定版本，系统将自动安装所有必要的依赖项：\n```bash\npython -m pip install -U giotto-tda\n```\n\n> **国内加速建议**：如果您在中国大陆地区，建议使用清华或阿里云镜像源以加快下载速度：\n> ```bash\n> python -m pip install -U giotto-tda -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n### 3. 安装开发版（可选）\n如果需要体验最新功能或修复补丁，可安装夜间构建版（注意：不要与稳定版在同一环境中混用）：\n```bash\npython -m pip install -U giotto-tda-nightly\n```\n\n## 基本使用\n\n`giotto-tda` 的 API 设计与 `scikit-learn` 高度一致，主要模块导入名为 `gtda`。以下是一个计算持久同调（Persistent Homology）并可视化条形码图的最简示例：\n\n```python\nimport numpy as np\nfrom gtda.homology import VietorisRipsPersistence\nfrom gtda.plotting import plot_diagram\n\n# 1. 准备数据：生成一个简单的三维点云示例（圆环形状）\ntheta = np.linspace(0, 2 * np.pi, 100)\nX = np.column_stack((np.cos(theta), np.sin(theta), np.zeros_like(theta)))\n# 添加少量噪声\nX += np.random.normal(0, 0.05, X.shape)\n\n# 将数据转换为 gtda 需要的格式 (n_samples, n_points, n_dimensions)\nX_gtda = X[np.newaxis, :, :]\n\n# 2. 初始化变换器并拟合\nvr = VietorisRipsPersistence(homology_dimensions=[0, 1])\ndiagrams = vr.fit_transform(X_gtda)\n\n# 3. 可视化结果\nplot_diagram(diagrams[0], show=True)\n```\n\n**代码说明：**\n*   `VietorisRipsPersistence`：用于计算点云的 Vietoris-Rips 复形及其持久同调。\n*   `fit_transform`：输入形状为 `(n_samples, n_points, n_dimensions)` 的数组，输出持久图（Persistence Diagrams）。\n*   `plot_diagram`：直接绘制持久图或条形码，直观展示数据的拓扑特征（如连通分量、孔洞等）。","某生物制药公司的数据科学团队正在利用高维单细胞测序数据，试图识别传统统计方法难以发现的罕见细胞亚群，以加速新药靶点的发现。\n\n### 没有 giotto-tda 时\n- **特征提取困难**：面对成千上万个基因表达维度，团队难以从复杂的点云数据中提取出反映细胞整体形态的全局特征，只能依赖局部距离指标。\n- **噪声干扰严重**：实验数据中固有的随机噪声导致传统的聚类算法（如 K-Means）频繁误判，将同一类细胞错误地分割成多个碎片化簇。\n- **拓扑结构丢失**：标准的降维可视化（如 t-SNE）虽然能展示局部邻域关系，但往往扭曲了数据整体的连通性和空洞结构，掩盖了细胞分化过程中的关键循环路径。\n- **模型泛化差**：由于缺乏对数据内在几何形状的数学描述，训练出的分类模型在跨批次数据验证时表现极不稳定，无法捕捉鲁棒的生物标志物。\n\n### 使用 giotto-tda 后\n- **自动化拓扑特征工程**：giotto-tda 无缝集成 scikit-learn 接口，一键计算持久同调图（Persistence Diagrams），将复杂的拓扑形状转化为机器可学习的数值特征向量。\n- **抗噪能力显著提升**：通过多尺度拓扑分析，giotto-tda 有效过滤了短寿命的拓扑噪声，精准保留了代表真实细胞亚群的长寿命拓扑特征，大幅降低误报率。\n- **还原真实数据结构**：工具成功识别出数据中高维环状和空洞结构，清晰揭示了细胞状态转化的连续轨迹，帮助研究人员发现了此前被忽略的过渡态细胞群。\n- **预测性能飞跃**：将提取的拓扑特征输入下游分类器后，模型在独立测试集上的准确率提升了 15%，且展现出极强的跨数据集泛化能力。\n\ngiotto-tda 通过将深奥的拓扑学理论转化为标准化的机器学习组件，让研发团队得以穿透高维数据的迷雾，精准捕获决定药物疗效的关键几何结构。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgiotto-ai_giotto-tda_a0c08d39.png","giotto-ai","giotto.ai","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgiotto-ai_9536713e.jpg","Adding a third dimension to AI",null,"maintainers@giotto.ai","https:\u002F\u002Fgiotto.ai","https:\u002F\u002Fgithub.com\u002Fgiotto-ai",[81,85,89],{"name":82,"color":83,"percentage":84},"Python","#3572A5",97.9,{"name":86,"color":87,"percentage":88},"CMake","#DA3434",2.1,{"name":90,"color":91,"percentage":92},"Shell","#89e051",0,983,197,"2026-04-13T20:38:14","NOASSERTION","未说明",{"notes":99,"python":100,"dependencies":101},"运行示例代码需要安装 Jupyter。开发者若从源码构建需参考专门文档（可能涉及 C++ 依赖），但通过 pip 安装的稳定版或夜间版包含预编译轮文件，无需额外 C++ 环境。不建议在同一环境中同时安装 giotto-tda 和 giotto-tda-nightly。",">=3.7",[102,103,104,105,106,107,108,109],"NumPy>=1.19.1","SciPy>=1.5.0","joblib>=0.16.0","scikit-learn>=0.23.1","pyflagser>=0.4.3","python-igraph>=0.8.2","plotly>=4.8.2","ipywidgets>=7.5.1",[14,16],[112,113,114,115,116,117,118,119],"topological-machine-learning","topological-data-analysis","machine-learning","scikit-learn","tda","mapper","topology","computational-topology","2026-03-27T02:49:30.150509","2026-04-16T08:15:25.064661",[123,128,133,137,142,147],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},35396,"在 macOS Catalina 上使用 Python 3.8 进行开发安装失败怎么办？","该问题已通过更新代码库修复（参考 PR #451）。如果您遇到类似的 C++ 编译错误，请确保拉取最新的 master 分支代码。有用户确认，在提交版本 3bb84d905fb7b8294247bc04b7993a626a4aa3bb 之后，即使不修改 CMakeLists.txt， clean build 也能成功。如果问题依旧，请检查是否使用了正确的 pybind11 分支（建议固定到 2.5 分支以避免 Azure 流水线类似的失败）。","https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fissues\u002F446",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},35397,"如何在 Linux 或 Docker 环境中正确安装开发版本及运行测试？","在 Linux (或 Docker) 中，可以通过以下步骤成功安装并运行测试：\n1. 安装基础构建工具：`apt update && apt install build-essential`\n2. 克隆仓库：`git clone https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda.git`\n3. 创建包含必要依赖的 conda 环境：`conda create -n gtda-env python=3.7 cmake boost`\n4. 激活环境：`conda activate gtda-env`\n5. 安装包：`pip install .`\n6. 安装测试依赖：`pip install hypothesis pytest`\n7. 运行测试：`pytest --pyargs gtda`","https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fissues\u002F168",{"id":134,"question_zh":135,"answer_zh":136,"source_url":132},35398,"Windows 用户在 Conda 环境中安装失败且找不到 Boost 库如何解决？","这是一个已知问题，CMake 的 `find(X)` 命令在某些 Windows 配置下无法正确管理 Boost 路径。维护者建议尝试使用 Boost 的 `.exe` 安装程序而不是通过 conda 安装，这通常能解决路径识别问题。如果必须使用 conda 或源码编译，可能需要手动指定 Boost 的路径。对于未来用户，官方可能会提供更详细的 Boost 安装说明或推荐此变通方案。",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},35399,"在使用 Mapper 算法时，如何传入预计算的距离矩阵（precomputed distance matrix）进行聚类？","早期版本可能需要 hack 手段，但新版本已原生支持。您应该使用 `gtda.mapper.pipeline.make_mapper_pipeline` 函数来构建流程。在该 pipeline 中，可以通过设置 `clustering_preprocessing` 步骤来处理预计算的距离矩阵，无需再像 Kepler Mapper 那样设置 `precomputed=True` 参数。请参考官方文档中关于 `make_mapper_pipeline` 的最新用法。","https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fissues\u002F149",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},35400,"绘制持久图（Persistence Diagrams）时出现 ValueError 错误（涉及无穷大值）是什么原因？","当输入数据（如重构的 MNIST 图像）导致计算出的持久性特征中包含无穷大值（infinity）时，绘图函数中的 `np.max` 或 `np.min` 操作会失败。建议在调用 `plot` 方法之前，先检查并过滤掉包含无穷大值的样本，或者使用 `fit_transform_plot` 方法来逐步跟踪数据处理过程，以便定位产生无穷大值的具体步骤。对于图像数据，Cubical Complexes 通常是自然且计算上更有利的选择，但需确保输入滤波值的有效性。","https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fissues\u002F563",{"id":148,"question_zh":149,"answer_zh":150,"source_url":141},35401,"在哪里可以找到 giotto-tda 的最新文档和社区支持？","如果遇到文档链接失效（404 错误），请访问最新的官方文档地址：https:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs\u002F 或 https:\u002F\u002Fdocs-tda.giotto.ai\u002F。此外，您可以加入 Giotto-AI 的 Slack 工作区 (https:\u002F\u002Fslack.giotto.ai\u002F) 获取实时帮助，或在 GitHub Discussions 板块 (https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fdiscussions) 发布想法和问题。",[152,157,162,167,172,177,182,187,192,197,202,207,212,217,222,227,232],{"id":153,"version":154,"summary_zh":155,"released_at":156},280461,"v0.6.2","## 变更内容\n* 添加 Python 3.12，由 @raphaelreinauer 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F699 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fcompare\u002Fv0.6.1...v0.6.2","2024-05-30T10:20:31",{"id":158,"version":159,"summary_zh":160,"released_at":161},280462,"v0.6.1","## 变更内容\n* @rballeba 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F689 中更新了 pybind11\n* @MonkeyBreaker 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F615 中将 CI 改为使用 GitHub Actions\n* @raphaelreinauer 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F697 中增加了对构建 Python 3.11 wheel 的支持\n* @allispaul 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F693 中将 sklearn.utils.metaestimators.if_delegate_has_method 替换为 available_if\n* @allispaul 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F692 中使 NumPy 函数能够通过类型检查\n* @pujaltes 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F668 中修复了 _validate_clusterer 中的一个简单错误\n* @matteocao 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F698 中确保修复了 CI\u002FCD\n\n## 新贡献者\n* @rballeba 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F689 中做出了首次贡献\n* @raphaelreinauer 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F697 中做出了首次贡献\n* @allispaul 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F693 中做出了首次贡献\n* @pujaltes 在 https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F668 中做出了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fcompare\u002Fv0.6.0...v0.6.1","2024-05-30T01:29:53",{"id":163,"version":164,"summary_zh":165,"released_at":166},280463,"v0.6.0","这是一个重大版本更新，包含全新的局部同调子包、用于计算维多利斯–里普斯条形码的新后端、适用于 Python 3.10 和 Apple Silicon 系统的轮子文件，以及对 Python 3.6 的支持终止。\n\n主要特性与改进\n----------------\n\n- 新增了一个名为 `local_homology` 的子包，其中包含与 `scikit-learn` 兼容的转换器，用于提取局部同调特征（[#602](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F602)）。配套的[教程](https:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs\u002F0.6.0\u002Fnotebooks\u002Flocal_homology.html)和[示例](https:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs\u002F0.6.0\u002Fnotebooks\u002Flocal_hom_NLP_disambiguation.html)笔记本对此进行了详细说明。\n- 现已提供适用于 Python 3.10 的轮子文件（[#644](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F644) 和 [#646](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F646)）。\n- 现已为 Python 3.8、3.9 和 3.10 提供适用于 Apple Silicon 系统的轮子文件（[#646](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F646)）。\n- `giotto-ph` 现已成为计算维多利斯–里普斯条形码的默认后端，取代了 `ripser.py`（[#614](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F614)）。\n- 文档得到了进一步完善（[#609](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F609)）。\n\n错误修复\n---------\n\n- 修复了 `mapper` 子包测试中存在的一处 bug（[#638](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F638)）。\n\n不向后兼容的变更\n------------------\n\n- 不再支持 Python 3.6，并且 manylinux 标准已从 `manylinux2010` 提升至 `manylinux2014`（[#644](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F644) 和 [#646](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F646)）。\n- 将 `python-igraph` 的依赖项替换为 `igraph >= 0.9.8`（[#616](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F616)）。\n\n感谢我们的贡献者\n----------------\n\n本版本的发布得益于以下贡献者的努力：\n\nUmberto Lupo、Jacob Bamberger、Wojciech Reise、Julián Burella Pérez 和 Anibal Medina-Mardones\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、参与富有启发性讨论的各位。","2022-08-27T07:16:20",{"id":168,"version":169,"summary_zh":170,"released_at":171},280464,"v0.5.1","主要特性与改进\n-------------------\n\n无。\n\n错误修复\n----------\n\n已修复一个阻止 Mapper 流水线使用内存缓存的 bug（[#597](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F597)）。\n\n向后不兼容的更改\n------------------\n\n无。\n\n感谢我们的贡献者\n----------------\n\n本版本包含以下贡献者的贡献：\n\nUmberto Lupo\n\n我们同样感谢所有提交过问题或协助解决问题、提出并解答疑问、参与富有启发性讨论的各位。","2021-07-09T18:25:37",{"id":173,"version":174,"summary_zh":175,"released_at":176},280465,"v0.5.0","主要功能与改进\n----------------\n\n- 新增了一个用于交互式绘制 Mapper 图的面向对象 API，即 `MapperInteractivePlotter`（[#586](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F586)）。该 API 旨在取代 `plot_interactive_mapper` 图，因为它允许通过交互方式检查对象当前状态的变化。有关详细信息，请参阅下方的“不向后兼容的更改”部分。\n- 数学术语表中增加了更多引用内容（[#564](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F564)）。\n\n错误修复\n---------\n\n- 修复了一个导致 `EuclideanCechPersistence` 在超过 2 维点云上无法正常工作的 bug（[#588](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F588)）。\n- 修复了一个验证错误，该错误曾阻止 `VietorisRipsPersistence` 和 `WeightedRipsPersistence` 接受非空字典作为 `metric_params` 参数（[#590](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F590)）。\n- 修复了一个在 `plot_static_mapper_graph` 中将 `node_color_statistic` 作为 NumPy 数组传递时会引发异常的 bug（[#576](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F576)）。\n\n不向后兼容的更改\n------------------\n\n- 对静态和交互式 Mapper 绘图函数 `plot_static_mapper_graph` 和 `plot_interactive_mapper_graph` 的行为进行了重大调整，相关变更见 [#584](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F584)。新的 `MapperInteractivePlotter` 类（参见上方的“主要功能与改进”部分）也遵循这一新 API。主要变化如下：\n\n   - 移除了 `color_by_columns_dropdown`。\n   - 将 `color_variable` 重命名为 `color_features`，但其值不能为数组。\n   - 新增了一个关键字参数 `color_data`，以更清晰地将 Mapper 流程的输入数据与用于着色的数据区分开来。\n   - `node_color_statistic` 现在按列逐列应用——此前它可能会被整体应用于二维数组。\n   - 与颜色相关的参数默认值现在会使用索引值，而非数据的均值。\n\n- `WeightedRipsPersistence` 中 `weight_params` 的默认值现为一个空字典，不再允许使用 `None`（[#595](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F595)）。\n\n感谢我们的贡献者\n----------------\n\n本次发布包含了众多贡献者的成果：\n\nUmberto Lupo、Wojciech Reise、Julian Burella Pérez、Sean Law、Anibal Medina-Mardones 和 Lewis Tunstall\n\n我们同样感谢所有提交问题或协助解决问题、提出并解答疑问、参与富有启发性讨论的各位。","2021-07-08T21:39:27",{"id":178,"version":179,"summary_zh":180,"released_at":181},280466,"v0.4.0","主要特性与改进\n----------------\n\n- 已添加适用于 Python 3.9 的轮子包（[#528](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F528)）。\n- 现在，``ripser`` 以及新的 ``WeightedRipsPersistence`` 转换器支持加权 Rips 滤链，尤其是基于距离到测度（DTM）的滤链（[#541](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F541)）。\n- 请参阅“向后不兼容的更改”部分，了解对 ``ParallelClustering`` 及其衍生的 ``make_mapper_pipeline`` 的重大改进，这些同时也是主要的破坏性变更。\n- ``GraphGeodesicDistance`` 现在可以接受矩形输入（顶点数将被推断为 ``max(x.shape)``），而 ``KNeighborsGraph`` 现在可以接受稀疏输入（[#537](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F537)）。\n- ``VietorisRipsPersistence`` 现在接受 ``metric_params`` 参数（[#541](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F541)）。\n\n错误修复\n--------\n\n- 修复了一个影响 ``DensityFiltration`` 绘图的文档错误（[#540](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F540)）。\n- 修复了一个影响 GUDHI 边坍缩器绑定的错误：该错误导致下三角形元素未被正确忽略（[#538](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F538)）。\n- 对于 ``ripser`` 和 ``VietorisRipsPersistence`` 接收的稀疏输入，现在会按照文档说明处理对称性冲突，即当转置位置存储了不同值时，优先采用上三角形元素（[#537](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F537)）。\n\n向后不兼容的更改\n------------------\n\n- ``pyflagser`` 的最低要求版本现已提升至 0.4.3（[#537](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F537)）。\n- ``ParallelClustering.fit_transform`` 现在会为每个样本输出一个聚类标签数组，使其更接近 scikit-learn 中聚类器的惯例；同时，拟合后的单个聚类器不再存储在拟合对象的 ``clusterers_`` 属性中（[#535](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F535) 和 [#552](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F552)）。\n\n感谢我们的贡献者\n----------------\n\n本次发布包含了众多贡献者的成果：\n\nUmberto Lupo、Julian Burella Pérez 和 Wojciech Reise。\n\n我们同样感谢所有提交问题或协助解决问题、提出并解答疑问、参与富有启发性讨论的各位。","2021-01-13T15:06:04",{"id":183,"version":184,"summary_zh":185,"released_at":186},280467,"v0.3.1","主要功能与改进\n----------------\n\n- 已合并对 ``ripser.py`` 子模块的最新更改（[#530](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F530)，另见 [#532](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F532)）。其中特别包括由 Julian Burella Pérez 通过 [scikit-tda\u002Fripser.py#106](https:\u002F\u002Fgithub.com\u002Fscikit-tda\u002Fripser.py\u002Fpull\u002F106) 提交的 C++ 后端性能优化。开发人员安装现在新增了一个依赖项，即 [robinhood hashmap](https:\u002F\u002Fgithub.com\u002Fmartinus\u002Frobin-hood-hashing)。这些更改不会影响功能。\n- 示例笔记本 [classifying_shapes.ipynb](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fblob\u002F46b18a48205e5611f3c2e0eaa21072a93ada5bcb\u002Fexamples\u002Fclassifying_shapes.ipynb) 已被修改和优化（[#523](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F523)）。\n- 原名为 ``time_series_classification.ipynb`` 的教程已被拆分为一个介绍 Takens 嵌入思想的入门教程（[topology_time_series.ipynb](https:\u002F\u002Fgithub.com\u002Fwreise\u002Fgiotto-tda\u002Fblob\u002Fb5321f5858eb12103a5f08126ad68d597b41aca9\u002Fexamples\u002Ftopology_time_series.ipynb)）以及一个关于引力波探测的示例笔记本（[gravitational_waves_detection.ipynb](https:\u002F\u002Fgithub.com\u002Fwreise\u002Fgiotto-tda\u002Fblob\u002Fb5321f5858eb12103a5f08126ad68d597b41aca9\u002Fexamples\u002Fgravitational_waves_detection.ipynb)），后者展示了一个时间序列分类任务（[#529](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F529)）。\n- 对 ``PairwiseDistance`` 的文档进行了改进（[#525](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F525)）。\n\n错误修复\n--------\n\n- 为减少 flaky 现象，已延长部分 ``hypothesis`` 测试的超时时间（[#531](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F531)）。\n\n向后不兼容的更改\n----------------\n\n- 由于 Azure 提供的 macOS 10.14 虚拟机对 ``brew`` 的支持较差，macOS 系统的 CI 现在将在 10.15 虚拟机上运行，而 10.14 将不再被 wheel 包支持（[#527](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F527)）。\n\n感谢我们的贡献者\n----------------\n\n本次发布包含了众多贡献者的成果：\n\nJulian Burella Pérez、Umberto Lupo、Lewis Tunstall、Wojciech Reise 和 Rayna Andreeva。\n\n我们同样感谢所有提交问题或协助解决问题、提出并解答疑问、参与富有启发性讨论的各位。","2020-11-20T11:17:06",{"id":188,"version":189,"summary_zh":190,"released_at":191},280468,"v0.3.0","主要特性与改进\n----------------\n\n这是一个重大版本，新增了大量新功能，并引入了多项改进。\n\n**通过 ``pyflagser`` 计算有向旗复形的持久同调**\n\n-  `pyflagser` 包（[源代码](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fpyflagser)、[文档](https:\u002F\u002Fdocs-pyflagser.giotto.ai\u002F)）现已成为 `giotto-tda` 的官方依赖。\n-  在 `gtda.homology` 中新增了 `FlagserPersistence` 变换器（[#339](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F339)）。它封装了 `pyflagser.flagser_weighted`，支持从有向或无向加权图中计算持久图。一个[新笔记本](https:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs\u002F0.3.0\u002Fnotebooks\u002Fpersistent_homology_graphs.html)演示了其使用方法。\n\n**边坍缩及持久同调性能提升**\n\n-  GUDHI C++ 组件已更新至 GUDHI v3.3.0 版本，在 `SparseRipsPersistence`、`EuclideanCechPersistence` 和 `CubicalPersistence` 中实现了性能提升（[#468](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F468)）。\n-  为 GUDHI 的[边坍缩器](https:\u002F\u002Fhal.inria.fr\u002Fhal-02395227)创建了绑定接口，现可通过 `VietorisRipsPersistence` 和 `gtda.externals.ripser` 中的可选关键字参数 `collapse_edges` 作为可选的预处理步骤使用（[#469](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F469) 和 [#483](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F483)）。当 `collapse_edges=True`，且输入数据和\u002F或所需同调维数足够大时，得到的 Vietoris–Rips 持续同调运行时间将达到当前最先进的水平。\n-  此外，通过避免不必要的数据拷贝、更好地管理内存以及使用更高效的矩阵运算例程，Ripser 绑定接口的性能也得到了提升（[#501](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F501) 和 [#507](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F507)）。\n\n**`gtda.homology` 中的新变换器与功能**\n\n-  在 `gtda.homology` 中新增了 `WeakAlphaPersistence` 变换器（[#464](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F464)）。与 `VietorisRipsPersistence`、`SparseRipsPersistence` 和 `EuclideanCechPersistence` 类似，它也能从点云中计算持久同调，但在低维情况下，其运行时间随数据规模增长的表现更为优异。\n-  当 `metric=\"precomputed\"` 时，`VietorisRipsPersistence` 现在可以接受稀疏输入（[#424](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F424)）。\n-  `CubicalPersistence` 现在可以接受二维数组列表作为输入（[#503](https:\u002F\u002Fgithub.com\u002Fgiotto-ai\u002Fgiotto-tda\u002Fpull\u002F503)）。\n-  所有持久同调变换器中新增了一个 `reduced_homology` 参数。当该参数设置为 `True` 时，H0 条码中的一个无穷条会自动被移除。此前，在单纯同调变换器中无法保留这些无穷条。The def","2020-10-09T09:43:04",{"id":193,"version":194,"summary_zh":195,"released_at":196},280469,"v0.2.2","主要功能与改进\n-------------------\n- 改进了 ``gtda.mapper.utils.decorators.method_to_transform`` 的文档。\n- 在理论术语表中添加了目录。\n- 重新组织了理论术语表，新增了一个名为“分析”的章节。其中加入了 l^p 范数、L^p 范数和热向量化等条目。\n- 通过确保检测到本地安装的 Boost 版本，加快了项目在 Windows 系统上的 Azure CI 构建速度。\n- 公开了多个与 GUDHI、ripser.py 和 Hera 外部代码的 Python 绑定：具体而言，现在可以通过 ``from gtda.externals import *`` 使高级用户访问以下内容：\n\n   - ``bottleneck_distance``\n   - ``wasserstein_distance``\n   - ``ripser``\n   - ``SparseRipsComplex``\n   - ``CechComplex``\n   - ``CubicalComplex``\n   - ``PeriodicCubicalComplex``\n   - ``SimplexTree``\n   - ``WitnessComplex``\n   - ``StrongWitnessComplex``。\n\n   然而，这些功能目前仍未提供文档说明。\n- 对 ``gtda.mapper.visualisation`` 和 ``gtda.mapper.utils._visualisation`` 模块进行了全面重构，以提高代码清晰度、增加功能、调整行为并修复错误。具体来说，在由 ``plot_static_mapper_graph`` 和 ``plot_interactive_mapper_graph`` 生成的图表中：\n\n   - 颜色条不再显示归一化到 [0, 1] 区间的值，而是始终展示节点汇总统计量的真实取值范围。\n   - 节点汇总统计量的数值现在会显示在悬停文本框中，新增关键字参数 ``n_sig_figs`` 用于控制其小数位数（默认为 3 位）。\n   - 将 ``plotly_kwargs`` 重命名为 ``plotly_params``（详见下方的“不兼容性变更”部分）。\n   - 移除了对 `matplotlib` 中 `rgb2hex` 和 `get_cmap` 函数的依赖。由于 `giotto-tda` 中其他组件均未使用 `matplotlib`，因此已完全移除对该库的依赖。\n   - 新增了 `node_scale` 关键字参数，可用于控制节点的大小（详见下方的“不兼容性变更”部分）。\n   - 通过提高节点颜色的透明度以避免被边遮挡，并减小标记线的粗细，整体提升了 Mapper 图的视觉效果。\n   \n   此外，还为 `plot_interactive_mapper_graph` 添加了 `clone_pipeline` 关键字参数，当其设置为 `False` 时，用户可以通过交互式控件直接修改输入的 Pipeline。\n- 改进了 `plot_static_mapper_graph`、`plot_interactive_mapper_graph` 和 `make_mapper_pipeline` 的 docstring。\n\n错误修复\n---------\n- 修复了一个由 Azure Mac 机器上 XCode 编译器更新引入的 CI 错误。\n- 修复了一个影响 Mapper 颜色的错误，该错误是由于错误地将其归一化到 [0, 1] 范围所致。\n\n不兼容性变更\n--------------\n- 该键","2020-06-02T07:05:33",{"id":198,"version":199,"summary_zh":200,"released_at":201},280470,"v0.2.1","主要功能与改进\n----------------\n\n- 理论术语表已得到完善，新增了持久图的向量化、核函数和振幅等概念。\n- 在 `gtda.externals.python.ripser_interface` 模块中的 `ripser` 函数，当 `metric` 参数为 `'precomputed'` 时，不再使用 scikit-learn 的 `pairwise_distances` 函数，从而允许传递包含负值或无穷大的方阵。\n- `gtda.utils.validation` 模块中的 `check_point_clouds` 函数现在会在输入应为一组距离矩阵时检查输入是否为方阵。警告信息会引导用户正确设置 `distance_matrices` 参数。`force_all_finite=False` 现在不再表示接受 NaN 值作为输入（仅接受无穷大值）。\n- `gtda.homology.simplicial` 模块中的 `VietorisRipsPersistence` 类不再对将传递给 `ripser` 的输入中的无穷大值进行屏蔽。\n- `check_point_clouds` 和 `VietorisRipsPersistence` 的文档字符串已得到改进，以反映上述更改以及 `ripser` 的更高通用性。\n\n错误修复\n---------\n\n- 用于指示 Boost 头文件位置的变量已从 `Boost_INCLUDE_DIR` 重命名为 `Boost_INCLUDE_DIRS`，以解决某些 Linux 系统中开发者安装时遇到的问题。\n\n不兼容的变更\n--------------\n\n- `check_point_clouds` 函数中的关键字参数 `distance_matrix` 已被重命名为 `distance_matrices`。\n\n感谢贡献者\n----------\n\n本次发布包含了众多贡献者的成果：\n\nUmberto Lupo、Anibal Medina-Mardones、Julian Burella Pérez、Guillaume Tauzin 和 Wojciech Reise。\n\n我们同样感谢所有提交问题或协助解决问题、提出并解答疑问、参与富有启发性讨论的各位。","2020-04-08T14:18:29",{"id":203,"version":204,"summary_zh":205,"released_at":206},280471,"v0.2.0","Major Features and Improvements\r\n-------------------------------\r\n\r\nThis is a major release which substantially broadens the scope of ``giotto-tda`` and introduces several improvements.\r\n\r\nThe library's documentation has been greatly improved and is now hosted [via GitHub pages](https:\u002F\u002Fgiotto-ai.github.io\u002Fgtda-docs\u002F). It includes rendered jupyter notebooks from the repository's ``examples`` folder, as well as an improved theory glossary, more detailed installation instructions, improved guidelines for contributing, and an FAQ.\r\n\r\n**Plotting functions and plotting API**\r\n\r\nThis version introduces built-in plotting capabilities to ``giotto-tda``. These come in the form of:\r\n\r\n-  a new ``plotting`` subpackage populated with plotting functions for common data structures;\r\n-  a new ``PlotterMixin`` and a class-level plotting API based on newly introduced ``plot``, ``transform_plot`` and ``fit_transform_plot`` methods which are now available in several of ``giotto-tda``'s transformers.\r\n\r\n**Changes and additions to ``gtda.homology``**\r\n\r\nThe internal structure of this subpackage has been changed. ``ConsistentRescaling`` has been moved to a new ``point_clouds`` subpackage (see below), and ``gtda.homology`` no longer contains a ``point_clouds`` submodule. Instead, it contains two submodules, ``simplicial`` and ``cubical``. ``simplicial`` contains the ``VietorisRipsPersistence`` class as well as the following new classes:\r\n\r\n-  ``SparseRipsPersistence``,\r\n-  ``EuclideanCechPersistence``.\r\n\r\nThe ``cubical`` submodule contains ``CubicalPersistence``, a new class for computing persistent homology of filtered cubical complexes such as those coming from 2D or 3D greyscale images.\r\n\r\n**New ``images`` subpackage**\r\n\r\nThe new ``gtda.images`` subpackage contains classes which, together with ``gtda.homology.CubicalPersistence``, extend the capabilities of ``giotto-tda`` to computer vision, by handling input representing binary or greyscale 2D\u002F3D images represented as arrays.\r\n\r\nThe classes in ``gtda.images.filtrations`` are responsible for converting binary image input into greyscale images in a variety of ways. The greyscale output can then be fed to ``gtda.homology.CubicalPersistence`` to extract topological signatures in the form of persistence diagrams. These classes are:\r\n\r\n-  ``HeightFiltration``,\r\n-  ``RadialFiltration``,\r\n-  ``DilationFiltration``,\r\n-  ``ErosionFiltration``,\r\n-  ``SignedDistanceFiltration``.\r\n\r\nThe classes in ``gtda.images.preprocessing`` perform a variety of preprocessing steps on either binary or greyscale image input, as well as conversion to point cloud format. They are:\r\n\r\n-  ``Binarizer``,\r\n-  ``Inverter``,\r\n-  ``Padder``,\r\n-  ``ImageToPointCloud``.\r\n\r\n**New ``point_clouds`` subpackage**\r\n\r\n``ConsistentRescaling`` is no longer placed in ``gtda.homology``. Instead, it is now in a ``point_clouds`` subpackage containing classes which process or modify the geometry of point cloud data. ``gtda.point_clouds`` also contains the new class ``ConsecutiveRescaling``, written with time series applications in mind.\r\n\r\n**List of point cloud input**\r\n\r\nAll classes in the ``homology`` subpackage (``VietorisRipsPersistence``, ``SparseRipsPersistence``, and ``EuclideanCechPersistence``) can now take as inputs to the ``fit`` and ``transform`` methods lists of 2D arrays instead of simply 3D arrays. In this way, collections of point clouds with varying numbers of points can be processed.\r\n\r\n**Changes and additions to ``gtda.diagrams``**\r\n\r\nThe ``diagrams`` subpackage contains the following new classes:\r\n\r\n-  ``PersistenceImage``\r\n-  ``Silhouette``\r\n\r\nAdditionally, the subpackage has been reorganised as follows:\r\n\r\n-  The ``features`` submodule now only contains the *scalar* feature generation classes ``Amplitude`` (moved there from ``distance``) and ``PersistenceEntropy``.\r\n-  Classes which produce *vector* representations from persistence diagrams have been moved to the new ``representations`` submodule.\r\n\r\n**Changes and additions to ``gtda.utils``**\r\n\r\n-  ``validate_params`` has been thoroughly refactored, documented and exposed for the benefit of developers.\r\n-  ``check_diagrams`` has been modified, documented and exposed for the benefit of developers.\r\n-  The new ``check_point_clouds`` performs validation of inputs consisting of collections of point clouds of distance matrices. It accepts both lists of 2D ndarrays and 3D ndarrays, and is used in the ``fit`` and ``transform`` methods of classes in ``gtda.homology.simplicial`` to allow for list input (see above).\r\n\r\n**External modules and HPC improvements**\r\n\r\nA substantial effort has been put in improving the quality of the high-performance components contained in ``gtda.externals``. The end result is a cleaner packaging as well as faster execution of C++ functions due to improved bindings. In particular:\r\n\r\n-  Two binaries are now shipped for ``ripser``, one of them being optimised for calculations with mod 2 coefficients.\r\n-  Recent improvements by the authors","2020-03-23T15:13:32",{"id":208,"version":209,"summary_zh":210,"released_at":211},280472,"v0.1.4","Library name change\r\n-------------------\r\n\r\nThe library and GitHub repository have been renamed to ``giotto-tda``! While the new name is meant to better convey the library's focus on Topology-powered machine learning and Data Analysis, the commitment to seamless integration with ``scikit-learn`` will remain just as strong and a defining feature of the project. Concurrently, the main module has been renamed from ``giotto`` to ``gtda`` in this version. ``giotto-learn`` will remain on PyPI as a legacy package (stuck at v0.1.3) until we have ensured that users and developers have fully migrated. The new PyPI package ``giotto-tda`` will start at v0.1.4 for project continuity.\r\n\r\nShort summary: install via\r\n```\r\n    pip install -U giotto-tda\r\n```\r\n\r\nand ``import gtda`` in your scripts or notebooks!\r\n\r\nChange of license\r\n-----------------\r\n\r\nThe license changes from Apache 2.0 to GNU AGPLv3 from this release on.\r\n\r\nMajor Features and Improvements\r\n-------------------------------\r\n\r\n-  Added a ``mapper`` submodule implementing the Mapper algorithm of Singh, Mémoli and Carlsson. The main tools are the functions ``make_mapper_pipeline``, ``plot_static_mapper_graph`` and ``plot_interactive_mapper_graph``. The first creates an object of class ``MapperPipeline`` which can be fit-transformed to data to create a Mapper graph in the form of an ``igraph.Graph`` object (see below). The ``MapperPipeline`` class itself is a simple subclass of scikit-learn's ``Pipeline`` which is adapted to the precise structure of the Mapper algorithm, so that a ``MapperPipeline`` object can be used as part of even larger scikit-learn pipelines, inside a meta-estimator, in a grid search, etc. One also has access to other important features of scikit-learn's ``Pipeline``, such as memory caching to avoid unnecessary recomputation of early steps when parameters involved in later steps are changed. The clustering step can be parallelised over the pullback cover sets via ``joblib`` -- though this can actually *lower* performance in small- and medium-size datasets. A range of pre-defined filter functions are also included, as well as covers in one and several dimensions, agglomerative clustering algorithms based on stopping rules to create flat cuts, and utilities for making transformers out of callables or out of other classes which have no ``transform`` method. ``plot_static_mapper_graph`` allows the user to visualise (in 2D or 3D) the Mapper graph arising from fit-transforming a ``MapperPipeline`` to data, and offers a range of colouring options to correlate the graph's structure with exogenous or endogenous information. It relies on ``plotly`` for plotting and displaying metadata. ``plot_interactive_mapper_graph`` adds interactivity to this, via ``ipywidgets``: specifically, the user can fine-tune some parameters involved in the definition of the Mapper pipeline, and observe in real time how the structure of the graph changes as a result. In this release, all hyperparameters involved in the covering and clustering steps are supported. The ability to fine-tune other hyperparameters will be considered for future versions.\r\n-  Added support for Python 3.8.\r\n\r\nBug Fixes\r\n---------\r\n\r\n-  Fixed consistently incorrect documentation for the ``fit_transform`` methods. This has been achieved by introducing a class decorator ``adapt_fit_transform_docs`` which is defined in the newly introduced ``gtda.utils._docs.py``.\r\n\r\nBackwards-Incompatible Changes\r\n------------------------------\r\n\r\n-  The library name change and the change in the name of the main module ``giotto`` are important major changes.\r\n-  There are now additional dependencies in the ``python-igraph``, ``matplotlib``, ``plotly``, and ``ipywidgets`` libraries.\r\n\r\nThanks to our Contributors\r\n--------------------------\r\n\r\nThis release contains contributions from many people:\r\n\r\nUmberto Lupo, Lewis Tunstall, Guillaume Tauzin, Philipp Weiler, Julian Burella Pérez.\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions. In particular, we would like to thank [Martino Milani](https:\u002F\u002Fgithub.com\u002FMartMilani\u002FreportPACS), who worked on an early prototype of a Mapper implementation; although very different from the current one, it adopted an early form of caching to avoid recomputation in refitting, which was an inspiration for this implementation.","2020-01-24T13:15:23",{"id":213,"version":214,"summary_zh":215,"released_at":216},280473,"v0.1.3","Major Features and Improvements\r\n-------------------------------\r\nNone\r\n\r\nBug Fixes\r\n---------\r\n-  Fixed a bug in `diagrams.Amplitude` causing the transformed array to be wrongly filled and added adequate test.\r\n\r\nBackwards-Incompatible Changes\r\n------------------------------\r\nNone.\r\n\r\nThanks to our Contributors\r\n--------------------------\r\n\r\nThis release contains contributions from many people:\r\n\r\nUmberto Lupo.\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.","2019-11-08T10:02:02",{"id":218,"version":219,"summary_zh":220,"released_at":221},280474,"v0.1.2","Major Features and Improvements\r\n-------------------------------\r\n-  Added support for Python 3.5.\r\n\r\nBug Fixes\r\n---------\r\nNone.\r\n\r\nBackwards-Incompatible Changes\r\n------------------------------\r\nNone.\r\n\r\nThanks to our Contributors\r\n--------------------------\r\n\r\nThis release contains contributions from many people:\r\n\r\nMatteo Caorsi, Henry Tom (@henrytomsf), Guillaume Tauzin.\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.","2019-11-05T12:07:01",{"id":223,"version":224,"summary_zh":225,"released_at":226},280475,"v0.1.1","Major Features and Improvements\r\n-------------------------------\r\n-  Improved documentation.\r\n-  Improved features of class `Labeller`.\r\n-  Improved features of class `PearsonDissimilarities`.\r\n-  Improved GitHub files.\r\n-  Improved CI.\r\n\r\nBug Fixes\r\n---------\r\nFixed minor bugs from the first release.\r\n\r\nBackwards-Incompatible Changes\r\n------------------------------\r\nThe following class were renamed:\r\n-  class `PearsonCorrelation` was renamed to class`PearsonDissimilarities`\r\n\r\nThanks to our Contributors\r\n--------------------------\r\n\r\nThis release contains contributions from many people:\r\n\r\nUmberto Lupo, Guillaume Tauzin, Matteo Caorsi, Olivier Morel.\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.","2019-10-21T19:11:37",{"id":228,"version":229,"summary_zh":230,"released_at":231},280476,"v0.1.0","Major Features and Improvements\r\n-------------------------------\r\n\r\nThe following submodules where added:\r\n\r\n-  `giotto.homology` implements transformers to modify metric spaces or generate persistence diagrams.\r\n-  `giotto.diagrams` implements transformers to preprocess persistence diagrams or extract features from them.\r\n-  `giotto.time_series` implements transformers to preprocess time series or embed them in a higher dimensional space for persistent homology.\r\n-  `giotto.graphs` implements transformers to create graphs or extract metric spaces from graphs.\r\n-  `giotto.meta_transformers` implements convenience `giotto.Pipeline` transformers for direct topological feature generation.\r\n-  `giotto.utils` implements hyperparameters and input validation functions.\r\n-  `giotto.base` implements a TransformerResamplerMixin for transformers that have a resample method.\r\n-  `giotto.pipeline` extends scikit-learn's module by defining Pipelines that include TransformerResamplers.\r\n\r\n\r\nBug Fixes\r\n---------\r\n\r\n\r\nBackwards-Incompatible Changes\r\n------------------------------\r\n\r\n\r\nThanks to our Contributors\r\n--------------------------\r\n\r\nThis release contains contributions from many people:\r\n\r\nGuillaume Tauzin, Umberto Lupo, Philippe Nguyen, Matteo Caorsi, Julian Burella Pérez,\r\nAlessio Ghiraldello.\r\n\r\nWe are also grateful to all who filed issues or helped resolve them, asked and\r\nanswered questions, and were part of inspiring discussions.","2019-10-18T17:21:23",{"id":233,"version":234,"summary_zh":235,"released_at":236},280477,"v0.1a.0","Alpha release for testing integration to pypi and conda-forge.","2019-10-15T08:41:04"]