[![published](https://static.production.devnetcloud.com/codeexchange/assets/images/devnet-published.svg)](https://developer.cisco.com/codeexchange/github/repo/ecoen66/merakicat)
# ![merakicat](https://github.com/ecoen66/merakicat/raw/main/images/merakicat.png) merakicat
This package makes migrating [Cisco](https://www.cisco.com) Catalyst switches to [Meraki](https:www.meraki.com) Dashboard much easier. #merakicat
![merakicat](https://github.com/ecoen66/merakicat/raw/main/images/mc_quick.gif)
This Python app can be run in Webex Teams [Bot mode](#Bot) or in [command-line mode](#command-line). It can also be called from shell scripts for [bulk-mode](#bulk-mode).
Below is the list of configurations the tool can currently translate:
switch:
- Hostname
- Spanning Tree RSTP
- Stack
- Static Routing
port:
- Port Description
- Port Status
- Port Speed
- Port Duplex
- Port Type
- PoE Enabled
- Allowed VLANs
- Data VLAN
- Voice VLAN
- Private VLAN
- Layer 3 Interface
- STP RootGuard
- STP Loop Guard
- STP BPDU Guard
- Etherchannel LACP
- NM Ports
Once installed, you can print the entire index of the feature encyclopedia, or to print the index based on either supported and translatable items or both, enter:
```
cd src/merakicat
python mc_pedia [support] [translatable]
```
# Prerequisites for using in Bot mode
If you don't already have a [Webex Teams](https://www.webex.com/products/teams/index.html) account, go ahead and [register](https://www.webex.com/pricing/free-trial.html) for one. They are free.
1. You'll need to start by adding your Bot to the Webex Teams website.
[https://developer.webex.com/my-apps](https://developer.webex.com/my-apps)
1. Click **Create a New App**
![add-app](https://github.com/ecoen66/merakicat/raw/main/images/newapp.jpg)
1. Click **Create a Bot**.
![create-bot](https://github.com/ecoen66/merakicat/raw/main/images/createbot.jpg)
2. Fill out all the details about your Bot. You'll need to set a name, username, icon (either upload one or choose a sample), and provide a description.
![add-bot](https://github.com/ecoen66/merakicat/raw/main/images/newbot.jpg)
3. Click **Add Bot**.
1. On the Congratulations screen, make sure to copy the *Bot's Access Token*, you will need this in a second.
![enter-details](https://github.com/ecoen66/merakicat/raw/main/images/botcongrats.jpg)
# Installation
> Python 3.11+ is recommended.
- Clone the github repository and install the requirements
```
git clone https://github.com/ecoen66/merakicat
cd merakicat
pip install -r requirements_dev.txt
```
# Usage
- The easiest way to use this module is to set a few environment variables
> Note: As an alternative, you may edit the variables in mc_user_info.py. Although more convenient, it is less secure.
```
# These exports are used for Webex bot mode:
export TEAMS_BOT_TOKEN=<your bot's token>
export TEAMS_BOT_EMAIL=<your bot's email>
export TEAMS_BOT_APP_NAME=<your bot's name>
export TEAMS_EMAILS=<a comma delimited list of email addresses the bot will respond to>
# These exports are required regardless of mode:
export IOS_USERNAME=<the ssh username for the Catalyst switches>
export IOS_PASSWORD=<the ssh password for the Catalyst switches>
export IOS_SECRET=<the CLI secret password for the Catalyst switches>
export IOS_PORT=<the ssh port number for the Catalyst switches - usually 22>
export MERAKI_API_KEY=<your meraki dashboard API key>
export MERAKI_ORG_NAME =<your meraki organization name>
```
In addition to these settings, various debugs and a choice of PDF vs. DOCX report format can be enabled in the mc_user_info.py file.
> Note: For PDF report generation, MS Word must be installed on the host with merakicat.
# Bot
To run merakicat as a Bot, just start it without any parameters:
```
cd src/merakicat
python merakicat.py
```
**Bot commands include the following:**
Check a Catalyst switch config for both translatable and possible Meraki features:
```
check [host <FQDN or IP address> | file <filespec>] [with timing] [with details]
```
Check one or more Catalyst switch config files for both translatable and possible Meraki features:
```
check <drag-and-drop files> [with timing] [with details]
```
Check the configs of cloud monitored Catalyst switches for both translatable and possible Meraki features:
```
check network <Meraki network name> [with timing] [with details]
```
Register a Catalyst switch to the Meraki Dashboard:
```
register [host <FQDN or IP address>] [with timing]
```
Claim Catalyst switches to a Meraki Network:
```
claim [<Meraki serial numbers>] [to <Meraki network name>] [with timing]
```
Translate a Catalyst switch config from a file or host to claimed Meraki serial numbers:
```
translate [host <FQDN or IP address> | file <filespec>] [to <Meraki serial numbers>] [with timing]
```
Migrate a Catalyst switch to a Meraki switch - register, claim & translate:
```
migrate [host <FQDN or IP address>] [to <Meraki network name>] [with timing]
```
Create a demo report for all features currently in the feature encyclopedia:
```
demo report
```
# Command-line
To run merakicat from the command-line (or from a shell script), enter any of the following:
Check a Catalyst switch config for both translatable and possible Meraki features:
```
cd src/merakicat
python merakicat.py check host <FQDN or IP address> | file <filespec> [with timing] [with details]
```
Check the configs of cloud monitored Catalyst switches for both translatable and possible Meraki features:
```
cd src/merakicat
python merakicat.py check network <Meraki network name> [with timing] [with details]
```
Register a Catalyst switch or stack to the Meraki Dashboard:
```
cd src/merakicat
python merakicat.py register host <FQDN or IP address> [with timing]
```
Claim Catalyst switches to a Meraki Network:
```
cd src/merakicat
python merakicat.py claim <Meraki serial numbers> to <Meraki network name> [with timing]
```
Translate a Catalyst switch or stack config from a file or host to claimed Meraki serial numbers:
```
cd src/merakicat
python merakicat.py translate host <FQDN or IP address> | file <filespec> to <Meraki serial numbers> [with timing]
```
Migrate a Catalyst switch to a Meraki switch - register, claim & translate:
```
cd src/merakicat
python merakicat.py migrate host <FQDN or IP address> to <Meraki network name> [with timing]
```
Create a demo report for all features currently in the feature encyclopedia:
```
cd src/merakicat
python merakicat.py demo report
```
# Bulk-mode
To run merakicat in bulk-mode, create a shell script to call merakicat in command line mode. Example scripts included in the repo are:
Generate Check config reports for a list of Catalyst switches, 20 switches at a time, until the entire list is exhausted. The list is provided in an input file, one hostname/fqdn/IP address per line:
```
cd src/merakicat
bulk_check.sh <input file>
```
Migrate a list of Catalyst switches to a Meraki network, 20 switches at a time, until the entire list is exhausted. The list is provided in an input file, one hostname/fqdn/IP address per line:
```
cd src/merakicat
bulk_migrate.sh <input file> <Meraki network name>
```
# Donations
If you found this repo to be useful, please consider donating to Life Decisions, Rockford, IL through a purchase from the [Merakicat store](https://bonfire.com/store/merakicat).
# Credits
**This project is _heavily_ based on the work of others:**
`Catalyst_to_Meraki_Migration_Tool` by [Fady Sharobeem](https://github.com/fadysharobeem).
`Catalyst_2_Meraki_Config_Checker` by [Fady Sharobeem](https://github.com/fadysharobeem).
The bot functionality is using `webex_bot` by [Finbarr Brady](https://github.com/fbradyirl).
# History
## 0.2.6 (05-07-2024)
- Resolved Issue #6.
- Fixed issue with unclaiming switches before removing switch stack.
- Updated requirements.
## 0.2.5 (04-25-2024)
- Reverted back to Finbarr Brady's webex-bot after a pull merge.
## 0.2.4 (04-12-2024)
- Added Private VLAN -> Port Isolation to encyclopedia.
- Removed older bot code.
- Updated AUTHORS.rst.
- Updated .gitignore
## 0.2.3 (04-10-2024)
- Translate now checks to make sure that the target switches have the same number of ports as the sources.
## 0.2.2 (04-10-2024)
- Added environment variable to specify a Meraki Oragnization name.
## 0.2.1 (04-10-2024)
- Added support for ip default-gateway as a static route.
## 0.2.0 (04-10-2024)
- Changed BOT libraries to enable websockets and remove ngrok for security.
- Began adding logic for Catalyst Cloud Monitoring onboarding.
## 0.1.8 (04-03-2024)
- Edited README.
- Renamed mc_user_sample.py to mc_user_info.py and commented out possible environment variables.
- Added logic to merakicat.py to handle missing variables on import from mc_user_info.py.
## 0.1.7 (04-01-2024)
- Added the ability to Check the configs of cloud monitored Catalyst switches for both translatable and possible Meraki features.
- Included "with timing" and "with details" options on check drag-n-drop.
- Renamed some called functions in external modules.
## 0.1.6 (03-26-2024)
- Updated encyclopedia.
- Migrated batch helper code for cleaner installation.
## 0.1.5 (03-23-2024)
- Supports NM ports.
- Merged nm-specifics into the encyclopedia.
## 0.1.4 (03-21-2024)
- Downloads a fresh copy of the encyclopedia from my repo if the local copy is over 24 hours old.
## 0.1.3 (03-21-2024)
- Code beautification with flake8.
- Setting up for publishing automation.
- Changed directory structure for publishing.
- Released on PyPI.
## 0.0.14 (03-19-2024)
- Option added for check with drag and drop files in bot mode.
- Added missing timing in check report in bot mode.
- Still not yet released on PyPI.
## 0.0.13 (03-18-2024)
- Option added for detailed check report "with detail".
## 0.0.12 (03-15-2024)
- Option for PDF vs. DOCX reporting in checker.
- Layer 3 Interfaces (interface VLAN) supported.
- Static routes supported.
- Command added for "demo report".
## 0.0.11 (03-12-2024)
- New reporting in checker.
- Port-channel LACP is working and fast.
## 0.0.10 (03-08-2024)
- Using a single mc_pedia.
## 0.0.9 (03-07-2024)
- Using both config_pedia and check_pedia.
- Changed to ngrok API for bot functionality
## 0.0.8 (03-01-2024)
- Lots of comment blocks added.
## 0.0.7 (03-01-2024)
- Now using batch port updates to Meraki dashboard.
## 0.0.6 (03-01-2024)
- Some light refactoring of mc_translate module.
- More prep work for Uplink config.
## 0.0.5 (02-29-2024)
- Added Catalyst NM module recognition and prep work for Uplink config.
## 0.0.4 (02-28-2024)
- Removed external data fetch for list of unsupported features in prep for adding display of features that are semi-supported.
- Added command line help **python merakicat.py help**.
## 0.0.3 (02-27-2024)
- Created command line option vs BOT.
- Just try **python merakicat.py convert host <host or ip address> to <meraki network>**.
## 0.0.2 (02-26-2024)
- Not yet released on PyPI.
## 0.0.1 (02-26-2024)
Raw data
{
"_id": null,
"home_page": "https://github.com/ecoen66/merakicat",
"name": "merakicat",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "merakicat, catalyst, meraki, cisco, migration, webexteamsbot",
"author": "Ed Coen",
"author_email": "ecoen@cisco.com",
"download_url": "https://files.pythonhosted.org/packages/e8/51/e61240ba6b3da0fc374ff4bdab958f6e9de2ea9e6ec6b4be3b138b15c89c/merakicat-0.2.6.tar.gz",
"platform": null,
"description": "[![published](https://static.production.devnetcloud.com/codeexchange/assets/images/devnet-published.svg)](https://developer.cisco.com/codeexchange/github/repo/ecoen66/merakicat)\n# ![merakicat](https://github.com/ecoen66/merakicat/raw/main/images/merakicat.png) merakicat\n\nThis package makes migrating [Cisco](https://www.cisco.com) Catalyst switches to [Meraki](https:www.meraki.com) Dashboard much easier. #merakicat\n\n![merakicat](https://github.com/ecoen66/merakicat/raw/main/images/mc_quick.gif)\n\nThis Python app can be run in Webex Teams [Bot mode](#Bot) or in [command-line mode](#command-line). It can also be called from shell scripts for [bulk-mode](#bulk-mode).\n\nBelow is the list of configurations the tool can currently translate:\n\nswitch:\n - Hostname\n - Spanning Tree RSTP\n - Stack\n - Static Routing\n\nport:\n - Port Description\n - Port Status\n - Port Speed\n - Port Duplex\n - Port Type\n - PoE Enabled\n - Allowed VLANs\n - Data VLAN\n - Voice VLAN\n - Private VLAN\n - Layer 3 Interface\n - STP RootGuard\n - STP Loop Guard\n - STP BPDU Guard\n - Etherchannel LACP\n - NM Ports\n\n\nOnce installed, you can print the entire index of the feature encyclopedia, or to print the index based on either supported and translatable items or both, enter:\n```\ncd src/merakicat\npython mc_pedia [support] [translatable]\n```\n\n# Prerequisites for using in Bot mode\n\nIf you don't already have a [Webex Teams](https://www.webex.com/products/teams/index.html) account, go ahead and [register](https://www.webex.com/pricing/free-trial.html) for one. They are free.\n\n1. You'll need to start by adding your Bot to the Webex Teams website.\n\n [https://developer.webex.com/my-apps](https://developer.webex.com/my-apps)\n\n1. Click **Create a New App**\n\n ![add-app](https://github.com/ecoen66/merakicat/raw/main/images/newapp.jpg)\n\n1. Click **Create a Bot**.\n\n ![create-bot](https://github.com/ecoen66/merakicat/raw/main/images/createbot.jpg)\n\n2. Fill out all the details about your Bot. You'll need to set a name, username, icon (either upload one or choose a sample), and provide a description.\n\n ![add-bot](https://github.com/ecoen66/merakicat/raw/main/images/newbot.jpg)\n\n3. Click **Add Bot**.\n\n1. On the Congratulations screen, make sure to copy the *Bot's Access Token*, you will need this in a second.\n\n ![enter-details](https://github.com/ecoen66/merakicat/raw/main/images/botcongrats.jpg)\n\n# Installation\n\n> Python 3.11+ is recommended.\n\n - Clone the github repository and install the requirements\n\n```\ngit clone https://github.com/ecoen66/merakicat\ncd merakicat\npip install -r requirements_dev.txt\n```\n\n# Usage\n\n - The easiest way to use this module is to set a few environment variables\n\n > Note: As an alternative, you may edit the variables in mc_user_info.py. Although more convenient, it is less secure.\n\n ```\n # These exports are used for Webex bot mode:\n export TEAMS_BOT_TOKEN=<your bot's token>\n export TEAMS_BOT_EMAIL=<your bot's email>\n export TEAMS_BOT_APP_NAME=<your bot's name>\n export TEAMS_EMAILS=<a comma delimited list of email addresses the bot will respond to>\n\n # These exports are required regardless of mode:\n export IOS_USERNAME=<the ssh username for the Catalyst switches>\n export IOS_PASSWORD=<the ssh password for the Catalyst switches>\n export IOS_SECRET=<the CLI secret password for the Catalyst switches>\n export IOS_PORT=<the ssh port number for the Catalyst switches - usually 22>\n export MERAKI_API_KEY=<your meraki dashboard API key>\n export MERAKI_ORG_NAME =<your meraki organization name>\n ```\nIn addition to these settings, various debugs and a choice of PDF vs. DOCX report format can be enabled in the mc_user_info.py file.\n\n > Note: For PDF report generation, MS Word must be installed on the host with merakicat.\n\n# Bot\n\nTo run merakicat as a Bot, just start it without any parameters:\n\n```\ncd src/merakicat\npython merakicat.py\n```\n**Bot commands include the following:**\n\nCheck a Catalyst switch config for both translatable and possible Meraki features:\n```\ncheck [host <FQDN or IP address> | file <filespec>] [with timing] [with details]\n```\nCheck one or more Catalyst switch config files for both translatable and possible Meraki features:\n```\ncheck <drag-and-drop files> [with timing] [with details]\n```\nCheck the configs of cloud monitored Catalyst switches for both translatable and possible Meraki features:\n```\ncheck network <Meraki network name> [with timing] [with details]\n```\nRegister a Catalyst switch to the Meraki Dashboard:\n```\nregister [host <FQDN or IP address>] [with timing]\n```\nClaim Catalyst switches to a Meraki Network:\n```\nclaim [<Meraki serial numbers>] [to <Meraki network name>] [with timing]\n```\nTranslate a Catalyst switch config from a file or host to claimed Meraki serial numbers:\n```\ntranslate [host <FQDN or IP address> | file <filespec>] [to <Meraki serial numbers>] [with timing]\n```\nMigrate a Catalyst switch to a Meraki switch - register, claim & translate:\n```\nmigrate [host <FQDN or IP address>] [to <Meraki network name>] [with timing]\n```\nCreate a demo report for all features currently in the feature encyclopedia:\n```\ndemo report\n```\n\n\n# Command-line\n\nTo run merakicat from the command-line (or from a shell script), enter any of the following:\n\nCheck a Catalyst switch config for both translatable and possible Meraki features:\n```\ncd src/merakicat\npython merakicat.py check host <FQDN or IP address> | file <filespec> [with timing] [with details]\n```\nCheck the configs of cloud monitored Catalyst switches for both translatable and possible Meraki features:\n```\ncd src/merakicat\npython merakicat.py check network <Meraki network name> [with timing] [with details]\n```\nRegister a Catalyst switch or stack to the Meraki Dashboard:\n```\ncd src/merakicat\npython merakicat.py register host <FQDN or IP address> [with timing]\n```\nClaim Catalyst switches to a Meraki Network:\n```\ncd src/merakicat\npython merakicat.py claim <Meraki serial numbers> to <Meraki network name> [with timing]\n```\nTranslate a Catalyst switch or stack config from a file or host to claimed Meraki serial numbers:\n```\ncd src/merakicat\npython merakicat.py translate host <FQDN or IP address> | file <filespec> to <Meraki serial numbers> [with timing]\n```\nMigrate a Catalyst switch to a Meraki switch - register, claim & translate:\n```\ncd src/merakicat\npython merakicat.py migrate host <FQDN or IP address> to <Meraki network name> [with timing]\n```\nCreate a demo report for all features currently in the feature encyclopedia:\n```\ncd src/merakicat\npython merakicat.py demo report\n```\n\n\n# Bulk-mode\n\nTo run merakicat in bulk-mode, create a shell script to call merakicat in command line mode. Example scripts included in the repo are:\n\nGenerate Check config reports for a list of Catalyst switches, 20 switches at a time, until the entire list is exhausted. The list is provided in an input file, one hostname/fqdn/IP address per line:\n```\ncd src/merakicat\nbulk_check.sh <input file>\n```\nMigrate a list of Catalyst switches to a Meraki network, 20 switches at a time, until the entire list is exhausted. The list is provided in an input file, one hostname/fqdn/IP address per line:\n```\ncd src/merakicat\nbulk_migrate.sh <input file> <Meraki network name>\n```\n\n\n# Donations\n\nIf you found this repo to be useful, please consider donating to Life Decisions, Rockford, IL through a purchase from the [Merakicat store](https://bonfire.com/store/merakicat).\n\n\n# Credits\n**This project is _heavily_ based on the work of others:**\n\n`Catalyst_to_Meraki_Migration_Tool` by [Fady Sharobeem](https://github.com/fadysharobeem).\n\n`Catalyst_2_Meraki_Config_Checker` by [Fady Sharobeem](https://github.com/fadysharobeem).\n\nThe bot functionality is using `webex_bot` by [Finbarr Brady](https://github.com/fbradyirl).\n\n\n# History\n\n## 0.2.6 (05-07-2024)\n\n - Resolved Issue #6.\n - Fixed issue with unclaiming switches before removing switch stack.\n - Updated requirements.\n\n## 0.2.5 (04-25-2024)\n\n - Reverted back to Finbarr Brady's webex-bot after a pull merge.\n\n## 0.2.4 (04-12-2024)\n\n - Added Private VLAN -> Port Isolation to encyclopedia.\n - Removed older bot code.\n - Updated AUTHORS.rst.\n - Updated .gitignore\n\n## 0.2.3 (04-10-2024)\n\n - Translate now checks to make sure that the target switches have the same number of ports as the sources.\n\n## 0.2.2 (04-10-2024)\n\n - Added environment variable to specify a Meraki Oragnization name.\n\n## 0.2.1 (04-10-2024)\n\n - Added support for ip default-gateway as a static route.\n\n## 0.2.0 (04-10-2024)\n\n - Changed BOT libraries to enable websockets and remove ngrok for security.\n - Began adding logic for Catalyst Cloud Monitoring onboarding.\n\n## 0.1.8 (04-03-2024)\n\n - Edited README.\n - Renamed mc_user_sample.py to mc_user_info.py and commented out possible environment variables.\n - Added logic to merakicat.py to handle missing variables on import from mc_user_info.py.\n\n## 0.1.7 (04-01-2024)\n\n - Added the ability to Check the configs of cloud monitored Catalyst switches for both translatable and possible Meraki features.\n - Included \"with timing\" and \"with details\" options on check drag-n-drop.\n - Renamed some called functions in external modules.\n\n## 0.1.6 (03-26-2024)\n\n - Updated encyclopedia.\n - Migrated batch helper code for cleaner installation.\n\n## 0.1.5 (03-23-2024)\n\n - Supports NM ports.\n - Merged nm-specifics into the encyclopedia.\n\n## 0.1.4 (03-21-2024)\n\n - Downloads a fresh copy of the encyclopedia from my repo if the local copy is over 24 hours old.\n\n## 0.1.3 (03-21-2024)\n\n - Code beautification with flake8.\n - Setting up for publishing automation.\n - Changed directory structure for publishing.\n - Released on PyPI.\n\n## 0.0.14 (03-19-2024)\n\n - Option added for check with drag and drop files in bot mode.\n - Added missing timing in check report in bot mode.\n - Still not yet released on PyPI.\n\n## 0.0.13 (03-18-2024)\n\n - Option added for detailed check report \"with detail\".\n\n## 0.0.12 (03-15-2024)\n\n - Option for PDF vs. DOCX reporting in checker.\n - Layer 3 Interfaces (interface VLAN) supported.\n - Static routes supported.\n - Command added for \"demo report\".\n\n## 0.0.11 (03-12-2024)\n\n - New reporting in checker.\n - Port-channel LACP is working and fast.\n\n## 0.0.10 (03-08-2024)\n\n - Using a single mc_pedia.\n\n## 0.0.9 (03-07-2024)\n\n - Using both config_pedia and check_pedia.\n - Changed to ngrok API for bot functionality\n\n## 0.0.8 (03-01-2024)\n\n - Lots of comment blocks added.\n\n## 0.0.7 (03-01-2024)\n\n - Now using batch port updates to Meraki dashboard.\n\n## 0.0.6 (03-01-2024)\n\n - Some light refactoring of mc_translate module.\n - More prep work for Uplink config.\n\n## 0.0.5 (02-29-2024)\n\n - Added Catalyst NM module recognition and prep work for Uplink config.\n\n## 0.0.4 (02-28-2024)\n\n - Removed external data fetch for list of unsupported features in prep for adding display of features that are semi-supported.\n - Added command line help **python merakicat.py help**.\n\n## 0.0.3 (02-27-2024)\n\n - Created command line option vs BOT.\n - Just try **python merakicat.py convert host <host or ip address> to <meraki network>**.\n\n## 0.0.2 (02-26-2024)\n\n - Not yet released on PyPI.\n\n## 0.0.1 (02-26-2024)\n\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "An app to check and translate Catalyst switch configs to Meraki.",
"version": "0.2.6",
"project_urls": {
"Homepage": "https://github.com/ecoen66/merakicat"
},
"split_keywords": [
"merakicat",
" catalyst",
" meraki",
" cisco",
" migration",
" webexteamsbot"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e2ec53de36ec4c90ec3c62c705776a1035b70d834b538e7abd77f74f83f29132",
"md5": "827c48937af9d5b4222b54d7d0e588d1",
"sha256": "a92688ea7e5d09c06aecbb9ee687e4fc2ecf31cc4f15d3714330387314e8afbb"
},
"downloads": -1,
"filename": "merakicat-0.2.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "827c48937af9d5b4222b54d7d0e588d1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 60788,
"upload_time": "2024-05-08T00:16:46",
"upload_time_iso_8601": "2024-05-08T00:16:46.673410Z",
"url": "https://files.pythonhosted.org/packages/e2/ec/53de36ec4c90ec3c62c705776a1035b70d834b538e7abd77f74f83f29132/merakicat-0.2.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e851e61240ba6b3da0fc374ff4bdab958f6e9de2ea9e6ec6b4be3b138b15c89c",
"md5": "5d3ee0d752f207c54ae460165a76f585",
"sha256": "e33a3abcd523236d149e403b1d71ea1f28b045aebe9de9a6048b68315e074c2d"
},
"downloads": -1,
"filename": "merakicat-0.2.6.tar.gz",
"has_sig": false,
"md5_digest": "5d3ee0d752f207c54ae460165a76f585",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2080454,
"upload_time": "2024-05-08T00:16:50",
"upload_time_iso_8601": "2024-05-08T00:16:50.787466Z",
"url": "https://files.pythonhosted.org/packages/e8/51/e61240ba6b3da0fc374ff4bdab958f6e9de2ea9e6ec6b4be3b138b15c89c/merakicat-0.2.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-08 00:16:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ecoen66",
"github_project": "merakicat",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "merakicat"
}