diff --git a/docs/methoddocs/ape.md b/docs/methoddocs/ape.md index 8d85db052a..864f47864d 100644 --- a/docs/methoddocs/ape.md +++ b/docs/methoddocs/ape.md @@ -1,6 +1,86 @@ # ape ```{eval-rst} -.. automodule:: ape - :members: +.. attribute:: ape.accounts + + Manage accounts. + See the `AccountManager <../methoddocs/managers.html#ape.managers.accounts.AccountManager>`__ for more info. +``` + +```{eval-rst} +.. attribute:: ape.chain + + Manage the blockchain. + See the `ChainManager <../methoddocs/managers.html#ape.managers.chain.ChainManager>`__ for more info. +``` + +```{eval-rst} +.. attribute:: ape.networks + + Manage networks. + See the `NetworkManager <../methoddocs/managers.html#ape.managers.networks.NetworkManager>`__ for more info. +``` + +```{eval-rst} +.. attribute:: ape.project + + Access the local project. + See the `ProjectManager <../methoddocs/managers.html#ape.managers.project.ProjectManager>`__ for more info. +``` + +```{eval-rst} +.. attribute:: ape.config + + Access the local project config. + See the `ConfigManager <../methoddocs/managers.html#ape.managers.config.ConfigManager>`__ for more info. +``` + +```{eval-rst} +.. function:: ape.Project(path) + + Instantiate other projects. + See the `ProjectManager <../methoddocs/managers.html#ape.managers.project.ProjectManager>`__ for more info. + + :path: The path to the project. +``` + +```{eval-rst} +.. function:: ape.Contract(address, contract_type) + + Instantiate contract-classes at a given address. + See the `ContractInstance <../methoddocs/contracts.html#ape.contracts.base.ContractInstance>`__ for more info. + + :address: The address of the instance. + :contract_type: Optionally provide the ABI or contract type data. +``` + +```{eval-rst} +.. function:: ape.convert(value, to_type) + + Conversion utility. + See the `ConversionManager <../methoddocs/managers.html#ape.managers.converters.ConversionManager>`__ for more info. + + :value: The value to convert. + :to_type: The destination type. + + Example usage:: + + result = ape.convert("1 ETH", int) +``` + +```{eval-rst} +.. attribute:: ape.compilers + + Access compiler classes. + See the `CompilerManager <../methoddocs/managers.html#ape.managers.compilers.CompilerManager>`__ for more info. +``` + +```{eval-rst} +.. function:: ape.reverts(expected_message, dev_message) + + Catch contract-revert exceptions. + Mimics ``pytest.raises``. + + :expected_message: The expected revert message (optional). + :dev_message: The expected dev-message (optional). ``` diff --git a/docs/methoddocs/types.md b/docs/methoddocs/types.md index b5b2546ffd..0753dab941 100644 --- a/docs/methoddocs/types.md +++ b/docs/methoddocs/types.md @@ -39,9 +39,44 @@ :show-inheritance: ``` -## Miscellaneous +## Events ```{eval-rst} -.. automodule:: ape.types - :members: BlockID, BaseContractLog, ContractLog, MockContractLog +.. automodule:: ape.types.events + :members: ContractLog, ContractLogContainer, MockContractLog, LogFilter +``` + +## VM + +```{eval-rst} +.. automodule:: ape.types.vm + :members: BlockID, SnapshotID +``` + +## Gas + +```{eval-rst} +.. automodule:: ape.types.gas + :members: GasLimit, AutoGasLimit +``` + +## Trace + +```{eval-rst} +.. automodule:: ape.types.trace + :members: GasReport, ControlFlow, SourceTraceback +``` + +## Units + +```{eval-rst} +.. automodule:: ape.types.units + :members: CurrencyValueComparable, CurrencyValue +``` + +## Basic + +```{eval-rst} +.. automodule:: ape.types.basic + :members: HexInt ``` diff --git a/src/ape/api/config.py b/src/ape/api/config.py index 8673f7bb33..141b226d02 100644 --- a/src/ape/api/config.py +++ b/src/ape/api/config.py @@ -477,7 +477,7 @@ def _plugin_configs(self) -> dict: self.__pydantic_extra__ = self.__pydantic_extra__ or {} return self.__pydantic_extra__ - def __repr__(self): + def __repr__(self) -> str: return "" def __str__(self) -> str: diff --git a/src/ape/exceptions.py b/src/ape/exceptions.py index 41f6a7f247..19ab04e988 100644 --- a/src/ape/exceptions.py +++ b/src/ape/exceptions.py @@ -671,7 +671,7 @@ def __enter__(self): def __exit__(self, exc_type, exc_val, exc_tb): return False - def __str__(self): + def __str__(self) -> str: if self._seconds in [None, ""]: return "" diff --git a/src/ape/plugins/_utils.py b/src/ape/plugins/_utils.py index 5e71d39fde..66510d3cfb 100644 --- a/src/ape/plugins/_utils.py +++ b/src/ape/plugins/_utils.py @@ -388,7 +388,7 @@ def is_available(self) -> bool: return self.module_name in _get_available_plugins() - def __str__(self): + def __str__(self) -> str: """ A string like ``trezor==0.4.0``. """ diff --git a/src/ape/utils/basemodel.py b/src/ape/utils/basemodel.py index 4dc3800fe3..02e379615e 100644 --- a/src/ape/utils/basemodel.py +++ b/src/ape/utils/basemodel.py @@ -39,7 +39,7 @@ def __get__(self, obj, owner): return self.fn(owner) -class manager_access: +class manager_access(property): _cache = None def __init__(self, fn): @@ -206,7 +206,7 @@ def plugin_manager(cls) -> "PluginManager": plugins = import_module("ape.managers.plugins") return plugins.PluginManager() - @manager_access + @classproperty def Project(cls) -> type["ProjectManager"]: """ The ``Project`` factory class for creating diff --git a/src/ape_pm/dependency.py b/src/ape_pm/dependency.py index 064237e044..51ea56657f 100644 --- a/src/ape_pm/dependency.py +++ b/src/ape_pm/dependency.py @@ -197,7 +197,7 @@ def uri(self) -> str: return _uri - def __repr__(self): + def __repr__(self) -> str: cls_name = getattr(type(self), "__name__", GithubDependency.__name__) return f"<{cls_name} github={self.github}>"