Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "2.0.0"
".": "2.0.1"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 85
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/coingecko/coingecko-705ab95ba3a2ad5b97b9a9a8d942a52f918da8b2544b1a156846dd438c1d26d4.yml
openapi_spec_hash: 82c4000d4dbeb57eabac6bb6cf9e3dc1
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/coingecko/coingecko-fb6b6a203ce654df6f662bce7e112dbbab1106024132e5b8145fefc7b3297436.yml
openapi_spec_hash: 56fbbaf3608f6cde0b9ed8854fdaeb4c
config_hash: c77352c905b1a7d1ab31960e5195bddf
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 2.0.1 (2026-04-30)

Full Changelog: [v2.0.0...v2.0.1](https://github.com/coingecko/coingecko-python/compare/v2.0.0...v2.0.1)

### Bug Fixes

* Remove orphaned MCP tools ([f85b4af](https://github.com/coingecko/coingecko-python/commit/f85b4af2fbddd5e30ba43f658f56ccf49c245239))

## 2.0.0 (2026-04-30)

Full Changelog: [v1.14.2...v2.0.0](https://github.com/coingecko/coingecko-python/compare/v1.14.2...v2.0.0)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "coingecko_sdk"
version = "2.0.0"
version = "2.0.1"
description = "The official Python library for the coingecko API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/coingecko_sdk/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "coingecko_sdk"
__version__ = "2.0.0" # x-release-please-version
__version__ = "2.0.1" # x-release-please-version
10 changes: 7 additions & 3 deletions src/coingecko_sdk/types/coins/category_get_list_response.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import List, Optional
from typing_extensions import TypeAlias

from ..._models import BaseModel

__all__ = ["CategoryGetListResponse"]
__all__ = ["CategoryGetListResponse", "CategoryGetListResponseItem"]


class CategoryGetListResponse(BaseModel):
class CategoryGetListResponseItem(BaseModel):
category_id: Optional[str] = None
"""category ID"""

name: Optional[str] = None
"""category name"""


CategoryGetListResponse: TypeAlias = List[CategoryGetListResponseItem]
8 changes: 6 additions & 2 deletions src/coingecko_sdk/types/coins/category_get_response.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Optional
from typing_extensions import TypeAlias

from ..._models import BaseModel

__all__ = ["CategoryGetResponse"]
__all__ = ["CategoryGetResponse", "CategoryGetResponseItem"]


class CategoryGetResponse(BaseModel):
class CategoryGetResponseItem(BaseModel):
id: Optional[str] = None
"""category ID"""

Expand All @@ -34,3 +35,6 @@ class CategoryGetResponse(BaseModel):

volume_24h: Optional[float] = None
"""category volume in 24 hours"""


CategoryGetResponse: TypeAlias = List[CategoryGetResponseItem]
10 changes: 7 additions & 3 deletions src/coingecko_sdk/types/derivative_get_response.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import List, Optional
from typing_extensions import TypeAlias

from .._models import BaseModel

__all__ = ["DerivativeGetResponse"]
__all__ = ["DerivativeGetResponse", "DerivativeGetResponseItem"]


class DerivativeGetResponse(BaseModel):
class DerivativeGetResponseItem(BaseModel):
basis: Optional[float] = None
"""difference of derivative price and index price"""

Expand Down Expand Up @@ -48,3 +49,6 @@ class DerivativeGetResponse(BaseModel):

volume_24h: Optional[float] = None
"""derivative volume in 24 hours"""


DerivativeGetResponse: TypeAlias = List[DerivativeGetResponseItem]
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import List, Optional
from typing_extensions import TypeAlias

from ..._models import BaseModel

__all__ = ["ExchangeGetListResponse"]
__all__ = ["ExchangeGetListResponse", "ExchangeGetListResponseItem"]


class ExchangeGetListResponse(BaseModel):
class ExchangeGetListResponseItem(BaseModel):
id: Optional[str] = None
"""derivatives exchange ID"""

name: Optional[str] = None
"""derivatives exchange name"""


ExchangeGetListResponse: TypeAlias = List[ExchangeGetListResponseItem]
10 changes: 7 additions & 3 deletions src/coingecko_sdk/types/derivatives/exchange_get_response.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import List, Optional
from typing_extensions import TypeAlias

from ..._models import BaseModel

__all__ = ["ExchangeGetResponse"]
__all__ = ["ExchangeGetResponse", "ExchangeGetResponseItem"]


class ExchangeGetResponse(BaseModel):
class ExchangeGetResponseItem(BaseModel):
id: Optional[str] = None
"""derivatives exchange ID"""

Expand Down Expand Up @@ -40,3 +41,6 @@ class ExchangeGetResponse(BaseModel):

year_established: Optional[float] = None
"""derivatives exchange established year"""


ExchangeGetResponse: TypeAlias = List[ExchangeGetResponseItem]
10 changes: 7 additions & 3 deletions src/coingecko_sdk/types/exchange_get_response.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import List, Optional
from typing_extensions import TypeAlias

from .._models import BaseModel

__all__ = ["ExchangeGetResponse"]
__all__ = ["ExchangeGetResponse", "ExchangeGetResponseItem"]


class ExchangeGetResponse(BaseModel):
class ExchangeGetResponseItem(BaseModel):
id: Optional[str] = None
"""exchange ID"""

Expand Down Expand Up @@ -40,3 +41,6 @@ class ExchangeGetResponse(BaseModel):

year_established: Optional[float] = None
"""exchange established year"""


ExchangeGetResponse: TypeAlias = List[ExchangeGetResponseItem]
10 changes: 7 additions & 3 deletions src/coingecko_sdk/types/nft_get_list_response.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import List, Optional
from typing_extensions import TypeAlias

from .._models import BaseModel

__all__ = ["NFTGetListResponse"]
__all__ = ["NFTGetListResponse", "NFTGetListResponseItem"]


class NFTGetListResponse(BaseModel):
class NFTGetListResponseItem(BaseModel):
id: Optional[str] = None
"""NFT collection ID"""

Expand All @@ -22,3 +23,6 @@ class NFTGetListResponse(BaseModel):

symbol: Optional[str] = None
"""NFT collection symbol"""


NFTGetListResponse: TypeAlias = List[NFTGetListResponseItem]
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ class DataDataAttributesGtScoreDetails(BaseModel):


class DataDataAttributesHoldersDistributionPercentage(BaseModel):
dist_11_30: Optional[float] = FieldInfo(alias="11_30", default=None)
dist_11_30: Optional[str] = FieldInfo(alias="11_30", default=None)

dist_31_50: Optional[float] = FieldInfo(alias="31_50", default=None)
dist_31_50: Optional[str] = FieldInfo(alias="31_50", default=None)

rest: Optional[float] = None
rest: Optional[str] = None

top_10: Optional[float] = None
top_10: Optional[str] = None


class DataDataAttributesHolders(BaseModel):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ class DataAttributesGtScoreDetails(BaseModel):


class DataAttributesHoldersDistributionPercentage(BaseModel):
dist_11_30: Optional[float] = FieldInfo(alias="11_30", default=None)
dist_11_30: Optional[str] = FieldInfo(alias="11_30", default=None)

dist_31_50: Optional[float] = FieldInfo(alias="31_50", default=None)
dist_31_50: Optional[str] = FieldInfo(alias="31_50", default=None)

rest: Optional[float] = None
rest: Optional[str] = None

top_10: Optional[float] = None
top_10: Optional[str] = None


class DataAttributesHolders(BaseModel):
Expand Down
32 changes: 16 additions & 16 deletions tests/api_resources/exchanges/test_volume_chart.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ def test_path_params_get(self, client: Coingecko) -> None:
def test_method_get_range(self, client: Coingecko) -> None:
volume_chart = client.exchanges.volume_chart.get_range(
id="id",
from_=0,
to=0,
from_=1672531200,
to=1675123200,
)
assert_matches_type(VolumeChartGetRangeResponse, volume_chart, path=["response"])

Expand All @@ -81,8 +81,8 @@ def test_method_get_range(self, client: Coingecko) -> None:
def test_raw_response_get_range(self, client: Coingecko) -> None:
response = client.exchanges.volume_chart.with_raw_response.get_range(
id="id",
from_=0,
to=0,
from_=1672531200,
to=1675123200,
)

assert response.is_closed is True
Expand All @@ -95,8 +95,8 @@ def test_raw_response_get_range(self, client: Coingecko) -> None:
def test_streaming_response_get_range(self, client: Coingecko) -> None:
with client.exchanges.volume_chart.with_streaming_response.get_range(
id="id",
from_=0,
to=0,
from_=1672531200,
to=1675123200,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
Expand All @@ -112,8 +112,8 @@ def test_path_params_get_range(self, client: Coingecko) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
client.exchanges.volume_chart.with_raw_response.get_range(
id="",
from_=0,
to=0,
from_=1672531200,
to=1675123200,
)


Expand Down Expand Up @@ -173,8 +173,8 @@ async def test_path_params_get(self, async_client: AsyncCoingecko) -> None:
async def test_method_get_range(self, async_client: AsyncCoingecko) -> None:
volume_chart = await async_client.exchanges.volume_chart.get_range(
id="id",
from_=0,
to=0,
from_=1672531200,
to=1675123200,
)
assert_matches_type(VolumeChartGetRangeResponse, volume_chart, path=["response"])

Expand All @@ -183,8 +183,8 @@ async def test_method_get_range(self, async_client: AsyncCoingecko) -> None:
async def test_raw_response_get_range(self, async_client: AsyncCoingecko) -> None:
response = await async_client.exchanges.volume_chart.with_raw_response.get_range(
id="id",
from_=0,
to=0,
from_=1672531200,
to=1675123200,
)

assert response.is_closed is True
Expand All @@ -197,8 +197,8 @@ async def test_raw_response_get_range(self, async_client: AsyncCoingecko) -> Non
async def test_streaming_response_get_range(self, async_client: AsyncCoingecko) -> None:
async with async_client.exchanges.volume_chart.with_streaming_response.get_range(
id="id",
from_=0,
to=0,
from_=1672531200,
to=1675123200,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
Expand All @@ -214,6 +214,6 @@ async def test_path_params_get_range(self, async_client: AsyncCoingecko) -> None
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
await async_client.exchanges.volume_chart.with_raw_response.get_range(
id="",
from_=0,
to=0,
from_=1672531200,
to=1675123200,
)