runbooks 0.7.5__py3-none-any.whl → 0.7.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- runbooks/__init__.py +1 -1
- runbooks/cfat/__init__.py +2 -2
- runbooks/finops/__init__.py +1 -1
- runbooks/finops/cli.py +1 -1
- runbooks/operate/__init__.py +2 -2
- runbooks/remediation/__init__.py +2 -2
- runbooks/remediation/acm_remediation.py +1 -1
- runbooks/remediation/base.py +1 -1
- runbooks/remediation/cloudtrail_remediation.py +1 -1
- runbooks/remediation/cognito_remediation.py +1 -1
- runbooks/remediation/dynamodb_remediation.py +1 -1
- runbooks/remediation/ec2_remediation.py +1 -1
- runbooks/remediation/ec2_unattached_ebs_volumes.py +1 -1
- runbooks/remediation/kms_enable_key_rotation.py +1 -1
- runbooks/remediation/kms_remediation.py +1 -1
- runbooks/remediation/lambda_remediation.py +1 -1
- runbooks/remediation/multi_account.py +1 -1
- runbooks/remediation/rds_remediation.py +1 -1
- runbooks/remediation/requirements.txt +2 -2
- runbooks/remediation/s3_block_public_access.py +1 -1
- runbooks/remediation/s3_enable_access_logging.py +1 -1
- runbooks/remediation/s3_encryption.py +1 -1
- runbooks/remediation/s3_remediation.py +1 -1
- runbooks/security/__init__.py +1 -1
- {runbooks-0.7.5.dist-info → runbooks-0.7.6.dist-info}/METADATA +4 -2
- {runbooks-0.7.5.dist-info → runbooks-0.7.6.dist-info}/RECORD +42 -62
- {runbooks-0.7.5.dist-info → runbooks-0.7.6.dist-info}/top_level.txt +0 -1
- jupyter-agent/.env +0 -2
- jupyter-agent/.env.template +0 -2
- jupyter-agent/.gitattributes +0 -35
- jupyter-agent/.gradio/certificate.pem +0 -31
- jupyter-agent/README.md +0 -16
- jupyter-agent/__main__.log +0 -8
- jupyter-agent/app.py +0 -256
- jupyter-agent/cloudops-agent.png +0 -0
- jupyter-agent/ds-system-prompt.txt +0 -154
- jupyter-agent/jupyter-agent.png +0 -0
- jupyter-agent/llama3_template.jinja +0 -123
- jupyter-agent/requirements.txt +0 -9
- jupyter-agent/tmp/4ojbs8a02ir/jupyter-agent.ipynb +0 -68
- jupyter-agent/tmp/cm5iasgpm3p/jupyter-agent.ipynb +0 -91
- jupyter-agent/tmp/crqbsseag5/jupyter-agent.ipynb +0 -91
- jupyter-agent/tmp/hohanq1u097/jupyter-agent.ipynb +0 -57
- jupyter-agent/tmp/jns1sam29wm/jupyter-agent.ipynb +0 -53
- jupyter-agent/tmp/jupyter-agent.ipynb +0 -27
- jupyter-agent/utils.py +0 -409
- runbooks/inventory/aws_organization.png +0 -0
- /runbooks/inventory/{tests → Tests}/common_test_data.py +0 -0
- /runbooks/inventory/{tests → Tests}/common_test_functions.py +0 -0
- /runbooks/inventory/{tests → Tests}/script_test_data.py +0 -0
- /runbooks/inventory/{tests → Tests}/setup.py +0 -0
- /runbooks/inventory/{tests → Tests}/src.py +0 -0
- /runbooks/inventory/{tests/test_inventory_modules.py → Tests/test_Inventory_Modules.py} +0 -0
- /runbooks/inventory/{tests → Tests}/test_cfn_describe_stacks.py +0 -0
- /runbooks/inventory/{tests → Tests}/test_ec2_describe_instances.py +0 -0
- /runbooks/inventory/{tests → Tests}/test_lambda_list_functions.py +0 -0
- /runbooks/inventory/{tests → Tests}/test_moto_integration_example.py +0 -0
- /runbooks/inventory/{tests → Tests}/test_org_list_accounts.py +0 -0
- /runbooks/inventory/{Inventory_Modules.py → inventory_modules.py} +0 -0
- {runbooks-0.7.5.dist-info → runbooks-0.7.6.dist-info}/WHEEL +0 -0
- {runbooks-0.7.5.dist-info → runbooks-0.7.6.dist-info}/entry_points.txt +0 -0
- {runbooks-0.7.5.dist-info → runbooks-0.7.6.dist-info}/licenses/LICENSE +0 -0
@@ -1,91 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"metadata": {
|
3
|
-
"kernel_info": {
|
4
|
-
"name": "python3"
|
5
|
-
},
|
6
|
-
"language_info": {
|
7
|
-
"name": "python",
|
8
|
-
"version": "3.12"
|
9
|
-
}
|
10
|
-
},
|
11
|
-
"nbformat": 4,
|
12
|
-
"nbformat_minor": 0,
|
13
|
-
"cells": [
|
14
|
-
{
|
15
|
-
"cell_type": "markdown",
|
16
|
-
"metadata": {},
|
17
|
-
"source": "<p align=\"center\">\n <img src=\"cloudops-agent.png\" alt=\"Jupyter Agent\" />\n</p>\n\n\n<p style=\"text-align:center;\">Let a LLM agent write and execute code inside a notebook!</p>"
|
18
|
-
},
|
19
|
-
{
|
20
|
-
"cell_type": "markdown",
|
21
|
-
"metadata": {},
|
22
|
-
"source": "<details>\n <summary style=\"display: flex; align-items: center;\">\n <div class=\"alert alert-block alert-info\" style=\"margin: 0; width: 100%;\">\n <b>System: <span class=\"arrow\">\u25b6</span></b>\n </div>\n </summary>\n <div class=\"alert alert-block alert-info\">\n # Data Science Agent Protocol<br><br>You are an intelligent data science assistant with access to an IPython interpreter. Your primary goal is to solve analytical tasks through careful, iterative exploration and execution of code. You must avoid making assumptions and instead verify everything through code execution.<br><br>## Core Principles<br>1. Always execute code to verify assumptions<br>2. Break down complex problems into smaller steps<br>3. Learn from execution results<br>4. Maintain clear communication about your process<br><br>## Available Packages<br>You have access to these pre-installed packages:<br><br>### Core Data Science<br>- numpy (1.26.4)<br>- pandas (1.5.3)<br>- scipy (1.12.0)<br>- scikit-learn (1.4.1.post1)<br><br>### Visualization<br>- matplotlib (3.9.2)<br>- seaborn (0.13.2)<br>- plotly (5.19.0)<br>- bokeh (3.3.4)<br>- e2b_charts (latest)<br><br>### Image & Signal Processing<br>- opencv-python (4.9.0.80)<br>- pillow (9.5.0)<br>- scikit-image (0.22.0)<br>- imageio (2.34.0)<br><br>### Text & NLP<br>- nltk (3.8.1)<br>- spacy (3.7.4)<br>- gensim (4.3.2)<br>- textblob (0.18.0)<br><br>### Audio Processing<br>- librosa (0.10.1)<br>- soundfile (0.12.1)<br><br>### File Handling<br>- python-docx (1.1.0)<br>- openpyxl (3.1.2)<br>- xlrd (2.0.1)<br><br>### Other Utilities<br>- requests (2.26.0)<br>- beautifulsoup4 (4.12.3)<br>- sympy (1.12)<br>- xarray (2024.2.0)<br>- joblib (1.3.2)<br><br>## Environment Constraints<br>- You cannot install new packages or libraries<br>- Work only with pre-installed packages in the environment<br>- If a solution requires a package that's not available:<br> 1. Check if the task can be solved with base libraries<br> 2. Propose alternative approaches using available packages<br> 3. Inform the user if the task cannot be completed with current limitations<br><br>## Analysis Protocol<br><br>### 1. Initial Assessment<br>- Acknowledge the user's task and explain your high-level approach<br>- List any clarifying questions needed before proceeding<br>- Identify which available files might be relevant from: - <br>- Verify which required packages are available in the environment<br><br>### 2. Data Exploration<br>Execute code to:<br>- Read and validate each relevant file<br>- Determine file formats (CSV, JSON, etc.)<br>- Check basic properties:<br> - Number of rows/records<br> - Column names and data types<br> - Missing values<br> - Basic statistical summaries<br>- Share key insights about the data structure<br><br>### 3. Execution Planning<br>- Based on the exploration results, outline specific steps to solve the task<br>- Break down complex operations into smaller, verifiable steps<br>- Identify potential challenges or edge cases<br><br>### 4. Iterative Solution Development<br>For each step in your plan:<br>- Write and execute code for that specific step<br>- Verify the results meet expectations<br>- Debug and adjust if needed<br>- Document any unexpected findings<br>- Only proceed to the next step after current step is working<br><br>### 5. Result Validation<br>- Verify the solution meets all requirements<br>- Check for edge cases<br>- Ensure results are reproducible<br>- Document any assumptions or limitations<br><br>## Error Handling Protocol<br>When encountering errors:<br>1. Show the error message<br>2. Analyze potential causes<br>3. Propose specific fixes<br>4. Execute modified code<br>5. Verify the fix worked<br>6. Document the solution for future reference<br><br>## Communication Guidelines<br>- Explain your reasoning at each step<br>- Share relevant execution results<br>- Highlight important findings or concerns<br>- Ask for clarification when needed<br>- Provide context for your decisions<br><br>## Code Execution Rules<br>- Execute code through the IPython interpreter directly<br>- Understand that the environment is stateful (like a Jupyter notebook):<br> - Variables and objects from previous executions persist<br> - Reference existing variables instead of recreating them<br> - Only rerun code if variables are no longer in memory or need updating<br>- Don't rewrite or re-execute code unnecessarily:<br> - Use previously computed results when available<br> - Only rewrite code that needs modification<br> - Indicate when you're using existing variables from previous steps<br>- Run code after each significant change<br>- Don't show code blocks without executing them<br>- Verify results before proceeding<br>- Keep code segments focused and manageable<br><br>## Memory Management Guidelines<br>- Track important variables and objects across steps<br>- Clear large objects when they're no longer needed<br>- Inform user about significant objects kept in memory<br>- Consider memory impact when working with large datasets:<br> - Avoid creating unnecessary copies of large data<br> - Use inplace operations when appropriate<br> - Clean up intermediate results that won't be needed later<br><br>## Best Practices<br>- Use descriptive variable names<br>- Include comments for complex operations<br>- Handle errors gracefully<br>- Clean up resources when done<br>- Document any dependencies<br>- Prefer base Python libraries when possible<br>- Verify package availability before using<br>- Leverage existing computations:<br> - Check if required data is already in memory<br> - Reference previous results instead of recomputing<br> - Document which existing variables you're using<br><br>Remember: Verification through execution is always better than assumption!\n </div>\n</details>\n\n<style>\ndetails > summary .arrow {\n display: inline-block;\n transition: transform 0.2s;\n}\ndetails[open] > summary .arrow {\n transform: rotate(90deg);\n}\n</style>\n"
|
23
|
-
},
|
24
|
-
{
|
25
|
-
"cell_type": "markdown",
|
26
|
-
"metadata": {},
|
27
|
-
"source": "<div class=\"alert alert-block alert-success\">\n<b>User:</b> Solve the Bayes' theorem equation and plot the results.\n</div>\n"
|
28
|
-
},
|
29
|
-
{
|
30
|
-
"cell_type": "code",
|
31
|
-
"execution_count": 1,
|
32
|
-
"metadata": {},
|
33
|
-
"source": "import numpy as np\nimport matplotlib.pyplot as plt\n\n# Define the prior probability distribution\ndef prior(theta):\n return np.ones(len(theta)) / len(theta)\n\n# Define the likelihood function\ndef likelihood(theta, x):\n return np.exp(-((theta - x) ** 2) / (2 * 0.1))\n\n# Define the posterior probability distribution using Bayes' theorem\ndef posterior(theta, x):\n prior_prob = prior(theta)\n likelihood_prob = likelihood(theta, x)\n evidence = np.sum(prior_prob * likelihood_prob)\n return likelihood_prob * prior_prob / evidence\n\n# Generate a range of theta values\ntheta = np.linspace(0, 1, 100)\n\n# Calculate the posterior probabilities for different x values\nposterior_probs = []\nfor x in [0.2, 0.5, 0.8]:\n posterior_prob = posterior(theta, x)\n posterior_probs.append(posterior_prob)\n\n# Plot the posterior probability distributions\nplt.plot(theta, posterior_probs[0], label='x=0.2')\nplt.plot(theta, posterior_probs[1], label='x=0.5')\nplt.plot(theta, posterior_probs[2], label='x=0.8')\nplt.xlabel('Theta')\nplt.ylabel('Posterior Probability')\nplt.title('Posterior Probability Distributions')\nplt.legend()\nplt.show()",
|
34
|
-
"outputs": [
|
35
|
-
{
|
36
|
-
"output_type": "display_data",
|
37
|
-
"metadata": {},
|
38
|
-
"data": {
|
39
|
-
"text/plain": [
|
40
|
-
"<Figure size 640x480 with 1 Axes>"
|
41
|
-
],
|
42
|
-
"image/png": "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"
|
43
|
-
}
|
44
|
-
}
|
45
|
-
]
|
46
|
-
},
|
47
|
-
{
|
48
|
-
"cell_type": "markdown",
|
49
|
-
"metadata": {},
|
50
|
-
"source": "This code first defines the prior probability distribution, likelihood function, and posterior probability distribution according to Bayes' theorem. It then generates a range of theta values and calculates the posterior probabilities for different x values. Finally, it plots the posterior probability distributions for these x values.\n\nThe resulting plot shows how the posterior probability distribution changes as the observed value x changes. The peak of the posterior distribution represents the most likely value of theta given the observation x. This demonstrates how Bayes' theorem updates our belief about the parameter theta based on new observations."
|
51
|
-
},
|
52
|
-
{
|
53
|
-
"cell_type": "markdown",
|
54
|
-
"metadata": {},
|
55
|
-
"source": "<div class=\"alert alert-block alert-success\">\n<b>User:</b> Solve the linear equation and plot the results.\n</div>\n"
|
56
|
-
},
|
57
|
-
{
|
58
|
-
"cell_type": "code",
|
59
|
-
"execution_count": 2,
|
60
|
-
"metadata": {},
|
61
|
-
"source": "import numpy as np\nimport matplotlib.pyplot as plt\n\n# Coefficients of the linear equation\na = 2\nb = 3\nc = 4\n\n# Solve the linear equation\nx = (-b + np.sqrt(b**2 - 4*a*c)) / (2*a)\n\nprint(f\"The solution to the linear equation {a}x^2 + {b}x + {c} = 0 is x = {x}\")\n\n# Generate x values\nx_values = np.linspace(-10, 10, 400)\n\n# Calculate corresponding y values\ny_values = a * x_values**2 + b * x_values + c\n\n# Plot the quadratic function\nplt.plot(x_values, y_values)\nplt.xlabel('x')\nplt.ylabel('y')\nplt.title('Quadratic Function')\nplt.grid(True)\nplt.axhline(y=0, color='k')\nplt.axvline(x=0, color='k')\nplt.show()",
|
62
|
-
"outputs": [
|
63
|
-
{
|
64
|
-
"output_type": "stream",
|
65
|
-
"name": "stdout",
|
66
|
-
"text": "The solution to the linear equation 2x^2 + 3x + 4 = 0 is x = nan\n"
|
67
|
-
},
|
68
|
-
{
|
69
|
-
"output_type": "stream",
|
70
|
-
"name": "stderr",
|
71
|
-
"text": "/tmp/ipykernel_813/337193267.py:11: RuntimeWarning: invalid value encountered in sqrt\n x = (-b + np.sqrt(b**2 - 4*a*c)) / (2*a)\n"
|
72
|
-
},
|
73
|
-
{
|
74
|
-
"output_type": "display_data",
|
75
|
-
"metadata": {},
|
76
|
-
"data": {
|
77
|
-
"text/plain": [
|
78
|
-
"<Figure size 640x480 with 1 Axes>"
|
79
|
-
],
|
80
|
-
"image/png": "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"
|
81
|
-
}
|
82
|
-
}
|
83
|
-
]
|
84
|
-
},
|
85
|
-
{
|
86
|
-
"cell_type": "markdown",
|
87
|
-
"metadata": {},
|
88
|
-
"source": "The linear equation has no real solutions because the discriminant `b^2 - 4ac` is negative. In this case, we cannot find a real value for `x`. \n\nIf you want to plot the quadratic function anyway, you can see that it does not intersect with the x-axis, indicating that there are no real roots."
|
89
|
-
}
|
90
|
-
]
|
91
|
-
}
|
@@ -1,57 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"metadata": {
|
3
|
-
"kernel_info": {
|
4
|
-
"name": "python3"
|
5
|
-
},
|
6
|
-
"language_info": {
|
7
|
-
"name": "python",
|
8
|
-
"version": "3.12"
|
9
|
-
}
|
10
|
-
},
|
11
|
-
"nbformat": 4,
|
12
|
-
"nbformat_minor": 0,
|
13
|
-
"cells": [
|
14
|
-
{
|
15
|
-
"cell_type": "markdown",
|
16
|
-
"metadata": {},
|
17
|
-
"source": "<p align=\"center\">\n <img src=\"https://huggingface.co/spaces/lvwerra/jupyter-agent/resolve/main/cloudops-agent.png\" />\n</p>\n\n\n<p style=\"text-align:center;\">Let a LLM agent write and execute code inside a notebook!</p>"
|
18
|
-
},
|
19
|
-
{
|
20
|
-
"cell_type": "markdown",
|
21
|
-
"metadata": {},
|
22
|
-
"source": "<details>\n <summary style=\"display: flex; align-items: center;\">\n <div class=\"alert alert-block alert-info\" style=\"margin: 0; width: 100%;\">\n <b>System: <span class=\"arrow\">\u25b6</span></b>\n </div>\n </summary>\n <div class=\"alert alert-block alert-info\">\n # Data Science Agent Protocol<br><br>You are an intelligent data science assistant with access to an IPython interpreter. Your primary goal is to solve analytical tasks through careful, iterative exploration and execution of code. You must avoid making assumptions and instead verify everything through code execution.<br><br>## Core Principles<br>1. Always execute code to verify assumptions<br>2. Break down complex problems into smaller steps<br>3. Learn from execution results<br>4. Maintain clear communication about your process<br><br>## Available Packages<br>You have access to these pre-installed packages:<br><br>### Core Data Science<br>- numpy (1.26.4)<br>- pandas (1.5.3)<br>- scipy (1.12.0)<br>- scikit-learn (1.4.1.post1)<br><br>### Visualization<br>- matplotlib (3.9.2)<br>- seaborn (0.13.2)<br>- plotly (5.19.0)<br>- bokeh (3.3.4)<br>- e2b_charts (latest)<br><br>### Image & Signal Processing<br>- opencv-python (4.9.0.80)<br>- pillow (9.5.0)<br>- scikit-image (0.22.0)<br>- imageio (2.34.0)<br><br>### Text & NLP<br>- nltk (3.8.1)<br>- spacy (3.7.4)<br>- gensim (4.3.2)<br>- textblob (0.18.0)<br><br>### Audio Processing<br>- librosa (0.10.1)<br>- soundfile (0.12.1)<br><br>### File Handling<br>- python-docx (1.1.0)<br>- openpyxl (3.1.2)<br>- xlrd (2.0.1)<br><br>### Other Utilities<br>- requests (2.26.0)<br>- beautifulsoup4 (4.12.3)<br>- sympy (1.12)<br>- xarray (2024.2.0)<br>- joblib (1.3.2)<br><br>## Environment Constraints<br>- You cannot install new packages or libraries<br>- Work only with pre-installed packages in the environment<br>- If a solution requires a package that's not available:<br> 1. Check if the task can be solved with base libraries<br> 2. Propose alternative approaches using available packages<br> 3. Inform the user if the task cannot be completed with current limitations<br><br>## Analysis Protocol<br><br>### 1. Initial Assessment<br>- Acknowledge the user's task and explain your high-level approach<br>- List any clarifying questions needed before proceeding<br>- Identify which available files might be relevant from: - <br>- Verify which required packages are available in the environment<br><br>### 2. Data Exploration<br>Execute code to:<br>- Read and validate each relevant file<br>- Determine file formats (CSV, JSON, etc.)<br>- Check basic properties:<br> - Number of rows/records<br> - Column names and data types<br> - Missing values<br> - Basic statistical summaries<br>- Share key insights about the data structure<br><br>### 3. Execution Planning<br>- Based on the exploration results, outline specific steps to solve the task<br>- Break down complex operations into smaller, verifiable steps<br>- Identify potential challenges or edge cases<br><br>### 4. Iterative Solution Development<br>For each step in your plan:<br>- Write and execute code for that specific step<br>- Verify the results meet expectations<br>- Debug and adjust if needed<br>- Document any unexpected findings<br>- Only proceed to the next step after current step is working<br><br>### 5. Result Validation<br>- Verify the solution meets all requirements<br>- Check for edge cases<br>- Ensure results are reproducible<br>- Document any assumptions or limitations<br><br>## Error Handling Protocol<br>When encountering errors:<br>1. Show the error message<br>2. Analyze potential causes<br>3. Propose specific fixes<br>4. Execute modified code<br>5. Verify the fix worked<br>6. Document the solution for future reference<br><br>## Communication Guidelines<br>- Explain your reasoning at each step<br>- Share relevant execution results<br>- Highlight important findings or concerns<br>- Ask for clarification when needed<br>- Provide context for your decisions<br><br>## Code Execution Rules<br>- Execute code through the IPython interpreter directly<br>- Understand that the environment is stateful (like a Jupyter notebook):<br> - Variables and objects from previous executions persist<br> - Reference existing variables instead of recreating them<br> - Only rerun code if variables are no longer in memory or need updating<br>- Don't rewrite or re-execute code unnecessarily:<br> - Use previously computed results when available<br> - Only rewrite code that needs modification<br> - Indicate when you're using existing variables from previous steps<br>- Run code after each significant change<br>- Don't show code blocks without executing them<br>- Verify results before proceeding<br>- Keep code segments focused and manageable<br><br>## Memory Management Guidelines<br>- Track important variables and objects across steps<br>- Clear large objects when they're no longer needed<br>- Inform user about significant objects kept in memory<br>- Consider memory impact when working with large datasets:<br> - Avoid creating unnecessary copies of large data<br> - Use inplace operations when appropriate<br> - Clean up intermediate results that won't be needed later<br><br>## Best Practices<br>- Use descriptive variable names<br>- Include comments for complex operations<br>- Handle errors gracefully<br>- Clean up resources when done<br>- Document any dependencies<br>- Prefer base Python libraries when possible<br>- Verify package availability before using<br>- Leverage existing computations:<br> - Check if required data is already in memory<br> - Reference previous results instead of recomputing<br> - Document which existing variables you're using<br><br>Remember: Verification through execution is always better than assumption!\n </div>\n</details>\n\n<style>\ndetails > summary .arrow {\n display: inline-block;\n transition: transform 0.2s;\n}\ndetails[open] > summary .arrow {\n transform: rotate(90deg);\n}\n</style>\n"
|
23
|
-
},
|
24
|
-
{
|
25
|
-
"cell_type": "markdown",
|
26
|
-
"metadata": {},
|
27
|
-
"source": "<div class=\"alert alert-block alert-success\">\n<b>User:</b> Solve the Lotka-Volterra equation and plot the results.\n</div>\n"
|
28
|
-
},
|
29
|
-
{
|
30
|
-
"cell_type": "code",
|
31
|
-
"execution_count": 1,
|
32
|
-
"metadata": {},
|
33
|
-
"source": "import numpy as np\nfrom scipy.integrate import odeint\nimport matplotlib.pyplot as plt\n\n# Define the Lotka-Volterra model\ndef lotka_volterra(state, t, a, b, c, d):\n x, y = state\n dxdt = a * x - b * x * y\n dydt = -c * y + d * x * y\n return [dxdt, dydt]\n\n# Parameters\na = 0.5 # prey growth rate\nb = 0.01 # predation rate\nc = 0.4 # parasitism rate\nd = 0.02 # competition rate\n\n# Initial conditions\nx0 = 100\ny0 = 50\nstate0 = [x0, y0]\n\n# Time points\nt = np.linspace(0, 20, 500)\n\n# Solve ODE\nsolution = odeint(lotkavolterra, state0, t, args=(a, b, c, d))\n\n# Plot results\nplt.figure(figsize=(10, 5))\nplt.subplot(121)\nplt.plot(t, solution[:, 0], label='Prey population')\nplt.plot(t, solution[:, 1], label='Predator population')\nplt.legend()\nplt.subplot(122)\nplt.plot(solution[:, 0], solution[:, 1])\nplt.xlabel('Prey population')\nplt.ylabel('Predator population')\nplt.title('Phase portrait')\nplt.show()",
|
34
|
-
"outputs": [
|
35
|
-
{
|
36
|
-
"output_type": "error",
|
37
|
-
"ename": "NameError",
|
38
|
-
"evalue": "name 'lotkavolterra' is not defined",
|
39
|
-
"traceback": [
|
40
|
-
"---------------------------------------------------------------------------NameError Traceback (most recent call last)Cell In[1], line 28",
|
41
|
-
" 25 t = np.linspace(0, 20, 500)",
|
42
|
-
" 27 # Solve ODE",
|
43
|
-
"---> 28 solution = odeint(lotkavolterra, state0, t, args=(a, b, c, d))",
|
44
|
-
" 30 # Plot results",
|
45
|
-
" 31 plt.figure(figsize=(10, 5))",
|
46
|
-
"NameError: name 'lotkavolterra' is not defined"
|
47
|
-
]
|
48
|
-
}
|
49
|
-
]
|
50
|
-
},
|
51
|
-
{
|
52
|
-
"cell_type": "markdown",
|
53
|
-
"metadata": {},
|
54
|
-
"source": "The issue is that the function `lotka_volterra` is correctly named as `lotka_volterra`, but in the line where it's being called, there's a typo: `odeint(lotkavolterra,...)` should be `odeint(lotka_volterra,...)`. So, the correct code should be:\n\n```python\nimport numpy as np\nfrom scipy.integrate import odeint as integrate\nfrom scipy.integrate import odeint # Needed to rename the built-in function\n\n# Parameters\na = 0.5 # prey growth rate\nb = 0.01 # predation rate\nc = 0.4 # parasitism rate\nd = 0.02 # competition rate\n\n# Initial conditions\nx0 = 100\ny0 = 50\nstate0 = [x0, y0]\n\n# Function that returns dy/dt\ndef lotka_volterra(state, t, a, b, c, d):\n x, y = state\n dxdt = a * x - b * x * y\n dydt = -c * y + d * x * y\n return [dxdt, dydt] # Modified this line\n\n# Time points\nt = np.arange(0, 10, 0.01)\n\n# Integrate the equations over the time span\nlotka_volterra_output = integrate(lotka_volterra, (t), args=(a, b, c, d, state0))\n\n# Print the results\nprint(lotka_volterra_output)"
|
55
|
-
}
|
56
|
-
]
|
57
|
-
}
|