janito 0.7.0__py3-none-any.whl → 0.8.0__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.
Files changed (112) hide show
  1. janito/__main__.py +127 -141
  2. janito/agents/__init__.py +22 -22
  3. janito/agents/agent.py +24 -27
  4. janito/agents/claudeai.py +41 -45
  5. janito/agents/deepseekai.py +47 -0
  6. janito/change/applied_blocks.py +34 -0
  7. janito/change/applier.py +167 -0
  8. janito/change/edit_blocks.py +148 -0
  9. janito/change/finder.py +72 -0
  10. janito/change/request.py +144 -0
  11. janito/change/validator.py +87 -269
  12. janito/change/view/content.py +63 -0
  13. janito/change/{viewer → view}/diff.py +44 -43
  14. janito/change/view/panels.py +201 -0
  15. janito/change/view/sections.py +69 -0
  16. janito/change/view/styling.py +140 -0
  17. janito/change/view/summary.py +37 -0
  18. janito/change/{viewer → view}/themes.py +62 -55
  19. janito/change/view/viewer.py +59 -0
  20. janito/cli/__init__.py +1 -1
  21. janito/cli/commands.py +68 -88
  22. janito/cli/functions.py +66 -111
  23. janito/common.py +132 -79
  24. janito/config.py +99 -101
  25. janito/data/change_prompt.txt +81 -0
  26. janito/data/system_prompt.txt +3 -0
  27. janito/qa.py +56 -57
  28. janito/version.py +22 -22
  29. janito/workspace/__init__.py +8 -6
  30. janito/workspace/analysis.py +120 -120
  31. janito/workspace/{types.py → models.py} +97 -98
  32. janito/workspace/show.py +115 -141
  33. janito/workspace/stats.py +42 -43
  34. janito/workspace/workset.py +135 -108
  35. janito/workspace/workspace.py +335 -114
  36. janito-0.8.0.dist-info/METADATA +106 -0
  37. janito-0.8.0.dist-info/RECORD +40 -0
  38. {janito-0.7.0.dist-info → janito-0.8.0.dist-info}/licenses/LICENSE +20 -20
  39. janito/__init__.py +0 -2
  40. janito/agents/openai.py +0 -57
  41. janito/agents/test.py +0 -34
  42. janito/change/__init__.py +0 -32
  43. janito/change/__main__.py +0 -0
  44. janito/change/analysis/__init__.py +0 -23
  45. janito/change/analysis/__main__.py +0 -7
  46. janito/change/analysis/analyze.py +0 -62
  47. janito/change/analysis/formatting.py +0 -78
  48. janito/change/analysis/options.py +0 -81
  49. janito/change/analysis/prompts.py +0 -90
  50. janito/change/analysis/view/__init__.py +0 -9
  51. janito/change/analysis/view/terminal.py +0 -181
  52. janito/change/applier/__init__.py +0 -5
  53. janito/change/applier/file.py +0 -58
  54. janito/change/applier/main.py +0 -156
  55. janito/change/applier/text.py +0 -247
  56. janito/change/applier/workspace_dir.py +0 -58
  57. janito/change/core.py +0 -124
  58. janito/change/history.py +0 -44
  59. janito/change/operations.py +0 -7
  60. janito/change/parser.py +0 -287
  61. janito/change/play.py +0 -54
  62. janito/change/preview.py +0 -82
  63. janito/change/prompts.py +0 -121
  64. janito/change/test.py +0 -0
  65. janito/change/viewer/__init__.py +0 -11
  66. janito/change/viewer/content.py +0 -66
  67. janito/change/viewer/panels.py +0 -533
  68. janito/change/viewer/styling.py +0 -114
  69. janito/clear_statement_parser/clear_statement_format.txt +0 -328
  70. janito/clear_statement_parser/examples.txt +0 -326
  71. janito/clear_statement_parser/models.py +0 -104
  72. janito/clear_statement_parser/parser.py +0 -496
  73. janito/cli/base.py +0 -30
  74. janito/cli/history.py +0 -61
  75. janito/cli/registry.py +0 -26
  76. janito/demo/__init__.py +0 -4
  77. janito/demo/data.py +0 -13
  78. janito/demo/mock_data.py +0 -20
  79. janito/demo/operations.py +0 -45
  80. janito/demo/runner.py +0 -59
  81. janito/demo/scenarios.py +0 -32
  82. janito/prompt.py +0 -36
  83. janito/review.py +0 -13
  84. janito/search_replace/README.md +0 -192
  85. janito/search_replace/__init__.py +0 -7
  86. janito/search_replace/__main__.py +0 -21
  87. janito/search_replace/core.py +0 -120
  88. janito/search_replace/logger.py +0 -35
  89. janito/search_replace/parser.py +0 -52
  90. janito/search_replace/play.py +0 -61
  91. janito/search_replace/replacer.py +0 -36
  92. janito/search_replace/searcher.py +0 -411
  93. janito/search_replace/strategy_result.py +0 -10
  94. janito/shell/__init__.py +0 -38
  95. janito/shell/bus.py +0 -31
  96. janito/shell/commands.py +0 -136
  97. janito/shell/history.py +0 -20
  98. janito/shell/processor.py +0 -32
  99. janito/shell/prompt.py +0 -48
  100. janito/shell/registry.py +0 -60
  101. janito/tui/__init__.py +0 -21
  102. janito/tui/base.py +0 -22
  103. janito/tui/flows/__init__.py +0 -5
  104. janito/tui/flows/changes.py +0 -65
  105. janito/tui/flows/content.py +0 -128
  106. janito/tui/flows/selection.py +0 -117
  107. janito/tui/screens/__init__.py +0 -3
  108. janito/tui/screens/app.py +0 -1
  109. janito-0.7.0.dist-info/METADATA +0 -167
  110. janito-0.7.0.dist-info/RECORD +0 -96
  111. {janito-0.7.0.dist-info → janito-0.8.0.dist-info}/WHEEL +0 -0
  112. {janito-0.7.0.dist-info → janito-0.8.0.dist-info}/entry_points.txt +0 -0
@@ -1,167 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: janito
3
- Version: 0.7.0
4
- Summary: A CLI tool for software development tasks powered by AI
5
- Project-URL: Homepage, https://github.com/joaompinto/janito
6
- Project-URL: Repository, https://github.com/joaompinto/janito.git
7
- Author-email: João Pinto <lamego.pinto@gmail.com>
8
- License: MIT
9
- License-File: LICENSE
10
- Classifier: Development Status :: 4 - Beta
11
- Classifier: Environment :: Console
12
- Classifier: Intended Audience :: Developers
13
- Classifier: License :: OSI Approved :: MIT License
14
- Classifier: Programming Language :: Python :: 3.8
15
- Classifier: Programming Language :: Python :: 3.9
16
- Classifier: Programming Language :: Python :: 3.10
17
- Classifier: Topic :: Software Development
18
- Requires-Python: >=3.8
19
- Requires-Dist: anthropic
20
- Requires-Dist: pathspec
21
- Requires-Dist: rich
22
- Requires-Dist: tomli
23
- Requires-Dist: typer
24
- Description-Content-Type: text/markdown
25
-
26
- # Janito
27
-
28
- [![PyPI version](https://badge.fury.io/py/janito.svg)](https://badge.fury.io/py/janito)
29
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
30
-
31
- AI-powered CLI tool for code modifications and analysis. Janito helps you modify, analyze, and understand your codebase using natural language commands.
32
-
33
- ## Table of Contents
34
-
35
- - [Features](#features)
36
- - [Installation](#installation)
37
- - [Usage](#usage)
38
- - [Basic Commands](#basic-commands)
39
- - [Examples](#examples)
40
- - [Configuration](#configuration)
41
- - [Development](#development)
42
- - [License](#license)
43
-
44
- ## Features
45
-
46
- - 🤖 AI-powered code analysis and modifications
47
- - 🔄 Incremental code changes with search/replace operations
48
- - 🎯 Precise text modifications with context matching
49
- - 💬 Natural language interface for code operations
50
- - 🔍 Interactive code exploration
51
- - 📝 Automatic documentation generation
52
- - ⚡ Fast and efficient codebase navigation
53
- - 💾 Smart Claude AI prompt caching for faster responses
54
-
55
- ## Installation
56
-
57
- ### Prerequisites
58
-
59
- - Python 3.8 or higher
60
- - Anthropic API key (with smart caching to reduce API costs)
61
-
62
- ### Install via pip
63
-
64
- ```bash
65
- pip install janito
66
- ```
67
-
68
- ### Set up API key
69
-
70
- ```bash
71
- export ANTHROPIC_API_KEY=your_api_key_here
72
- ```
73
-
74
- ## Usage
75
-
76
- ### Basic Commands
77
-
78
- Janito supports incremental code changes through precise text operations:
79
- - Search and replace with context matching
80
- - Delete specific code blocks
81
- - File operations (create, replace, rename, move, remove)
82
-
83
- ```bash
84
- # Start interactive shell
85
- janito
86
-
87
- # Modify code with natural language
88
- janito "add docstrings to this file"
89
-
90
- # Ask questions about the codebase
91
- janito --ask "explain the main function in this file"
92
-
93
- # Preview files that would be analyzed
94
- janito --scan
95
- ```
96
-
97
- ### Examples
98
-
99
- 1. Add documentation to a file:
100
- ```bash
101
- janito "add docstrings to all functions in src/main.py"
102
- ```
103
-
104
- 2. Analyze code structure:
105
- ```bash
106
- janito --ask "what are the main classes in this project?"
107
- ```
108
-
109
- 3. Refactor code:
110
- ```bash
111
- janito "convert this function to use async/await"
112
- ```
113
-
114
- 4. Generate tests:
115
- ```bash
116
- janito "create unit tests for the User class"
117
- ```
118
-
119
- ## Configuration
120
-
121
- ### Environment Variables
122
-
123
- - `ANTHROPIC_API_KEY`: Anthropic API key for Claude AI
124
- - `JANITO_TEST_CMD`: Default test command to run after changes
125
-
126
- ### Command Line Options
127
-
128
- - `-w, --workspace_dir`: Set working directory
129
- - `-i, --include`: Additional paths to include
130
- - `--debug`: Show debug information
131
- - `--verbose`: Show verbose output
132
- - `--auto-apply`: Apply changes without confirmation
133
-
134
- ## Development
135
-
136
- ### Setting up Development Environment
137
-
138
- ```bash
139
- # Clone the repository
140
- git clone https://github.com/joaompinto/janito.git
141
- cd janito
142
-
143
- # Create and activate virtual environment
144
- python -m venv venv
145
- source venv/bin/activate # On Windows: venv\Scripts\activate
146
-
147
- # Install development dependencies
148
- pip install -e ".[dev]"
149
- ```
150
-
151
- ### Running Tests
152
-
153
- ```bash
154
- pytest
155
- ```
156
-
157
- ### Contributing
158
-
159
- 1. Fork the repository
160
- 2. Create a feature branch
161
- 3. Commit your changes
162
- 4. Push to the branch
163
- 5. Create a Pull Request
164
-
165
- ## License
166
-
167
- MIT License - see [LICENSE](LICENSE)
@@ -1,96 +0,0 @@
1
- janito/__init__.py,sha256=Svp3i5NGeapDV4xB-CDu9TjqEzvsnjQwSzdmDT9DDqc,47
2
- janito/__main__.py,sha256=l20_V0iIX_8yjJeP-THirJATybgCbmikzu5colMb1P0,5544
3
- janito/common.py,sha256=VaFTF5VM6dClNGFVC1A9b-EbpqcqrQpybl6eidl8T9c,3381
4
- janito/config.py,sha256=f0chVHjfds62W-wUDPLlshxh8W1VviqHw2kbm-_qLSA,3126
5
- janito/prompt.py,sha256=Rd6I0C4y0uSgWCggoLJiSiET9vT3nlgtwfSKo06jMDc,1011
6
- janito/qa.py,sha256=8MBQnKgUGErgJ3XWE2cd9WvSAHyke-AL5jO8iPhfhng,1794
7
- janito/review.py,sha256=5Oc6BfxMGNmKbIeDP5_EiAKUDeQwVOD0YL7iqfgJLRE,471
8
- janito/version.py,sha256=ylfPwGtdY8dEOFJ-DB9gKUQLggqRCvoLxhpnwjzCM94,739
9
- janito/agents/__init__.py,sha256=o4CL_6UkTx62W9VyOshecAgnPrlBeiDqH3l82RKN2gA,755
10
- janito/agents/agent.py,sha256=81Bx9I6U0U-KDFMKkV0Q-ZlzCxbuJBUHGKUHqG45S_E,927
11
- janito/agents/claudeai.py,sha256=WWCFWJ4T6v6dPZubpGgsQTzgd9lB4ViNm29FC66wl_U,1608
12
- janito/agents/openai.py,sha256=VdskCojBIbRvKTjiVqwn1f3rfGHynUFDaIvnlwRYs1c,2282
13
- janito/agents/test.py,sha256=xoN1q9DUSYpUbnvTP1qZsEfxYrZfocJlt9DkIuMDvvY,1552
14
- janito/change/__init__.py,sha256=vGn9qudqiusp4LsR2zzr3mbb4dhXvcGBY2NNzl1JC5M,955
15
- janito/change/__main__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- janito/change/core.py,sha256=fTAFv3FwYgPxwhuMOSigglYX0l30KY6X17L_VxBviB4,3871
17
- janito/change/history.py,sha256=rbprE1lnOl5We85c-VsDnHAiGphW0t2fA7zu4N9uulw,1405
18
- janito/change/operations.py,sha256=5HeUvFa503Foemngu-ShomPn9W82XH-gLlTfXxAZoEw,165
19
- janito/change/parser.py,sha256=EYQgy1L8yWNPTgdVNWeiXFbAtzPJNBwU15-dE4ThG68,11169
20
- janito/change/play.py,sha256=ZzYp-eaIBn578EiPB9uVR-G-mxXiK_hD_GI15htb0DU,1835
21
- janito/change/preview.py,sha256=xfwo0q7jAx-U92U3iEwDDlsZnzndj7fshq8OLgjv3Vw,2720
22
- janito/change/prompts.py,sha256=00HcNIEZwLCEY1SvT5unaIiAkCoiSCG-DYk94YmWcPQ,4345
23
- janito/change/test.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- janito/change/validator.py,sha256=sd8QXruxQPdG-rVCM6NIXsVmK50ytzrtsx2J3is06Ww,10943
25
- janito/change/analysis/__init__.py,sha256=yg9LhcC1nCvleGt4cnQMuJYCARXBZNvmXaT23S3szJo,593
26
- janito/change/analysis/__main__.py,sha256=M6JmJnZfOKB0OB29EpzzfbNZu7cusKT92KQhmnaWd5c,196
27
- janito/change/analysis/analyze.py,sha256=CRpfRn_3KQHNdTZ1wQtsSafzmJzPblNggEf-ZkiTEzw,1760
28
- janito/change/analysis/formatting.py,sha256=VqDL6fBzvVm5pdDN4fX9nQQP1wZwhlxDKyaMlDj9ju4,2602
29
- janito/change/analysis/options.py,sha256=JNyXCFjOxS1Qm1oqqn8JSXrF4KQ9MotclfKMLD7dZFc,2957
30
- janito/change/analysis/prompts.py,sha256=UmuJzrdxpEpL3EcgrsJO4OwKWDWMlFucd162Oje-7F4,2962
31
- janito/change/analysis/view/__init__.py,sha256=oQd_ClbL7sWmb8jbie74qRrn09CIUTxLH18b02PJFLk,204
32
- janito/change/analysis/view/terminal.py,sha256=IxsIZG7IJQwfJ1dtZDCga7E7Qq3u5EI5lPszbvi82u4,6598
33
- janito/change/applier/__init__.py,sha256=KdViLadNAWcSUbJcsfAt66cDJpaqYGIHdzSDKZjzsEw,183
34
- janito/change/applier/file.py,sha256=NQnoywcVXAxLU0xipsByajs2SCRtsSqFPO8tlJl1J2w,2420
35
- janito/change/applier/main.py,sha256=Ua-0tmOHYImSlYzmRPppz9stg50bGM1AFFUdQEFMxhY,6644
36
- janito/change/applier/text.py,sha256=cORCCLZdph31tJ2Jr5bueRTawrBr-m2csaGYmJexD2I,11031
37
- janito/change/applier/workspace_dir.py,sha256=whiuIIYyDHh2m-K_ZRMZGvMMQ1nh6lzXaWGhnFK1B1o,2443
38
- janito/change/viewer/__init__.py,sha256=tj-rIVbuAm80B7-no-YgdxbtkDlwRK_0hqUfIDtDOAc,250
39
- janito/change/viewer/content.py,sha256=iHRjhbpTJMi9v0W91XLogDfbVQEwLg04hlfYJOochzo,2036
40
- janito/change/viewer/diff.py,sha256=OzaocnrnH4RCdzZPjT05pEmFJLcd_EgpKhRiAXJrvpc,1815
41
- janito/change/viewer/panels.py,sha256=9i-b_vhpDK8cnh1qJ78xtg7cHxvOIMpvotdgK5oHNtU,21612
42
- janito/change/viewer/styling.py,sha256=6i3xdnj4s5YkSH58oMgfgwZ3nD8T1tI-4Zy7HvcuoMg,4204
43
- janito/change/viewer/themes.py,sha256=HISrK7-qR0m4dGZqFmC5loW2E1RSwAicP0mnpZvbSv0,1470
44
- janito/clear_statement_parser/clear_statement_format.txt,sha256=_5iQylnCqgBaMVFVgx33QvEColV16oOwl1W4scu_-zc,13497
45
- janito/clear_statement_parser/examples.txt,sha256=NnxDraTpCPZCjJjL2HvCMtA1NxBY7C0l3b5v61Y-5iY,8547
46
- janito/clear_statement_parser/models.py,sha256=b7-lLHfQLI4q5dtaF4BVCwE9DI2xWwVQAHQqAl1c6s0,3640
47
- janito/clear_statement_parser/parser.py,sha256=KO7Bj0pEl7iPH3FQ3knTGSLMGqKS_pXe3_eqfEHBtXw,20847
48
- janito/cli/__init__.py,sha256=3gyMSaEAH2N4mXfZTLsHXKxXDxdhlYUeAPYQuhnOVBE,77
49
- janito/cli/base.py,sha256=WKFSxX5FKk5Se5QUZ0X3_fAQVIWG6OEGKAXKebWiRaM,1188
50
- janito/cli/commands.py,sha256=SlS39cSKEbM1oRup96ys9SlR59JxidJp6rnR-JeRk80,2823
51
- janito/cli/functions.py,sha256=7DSFQaxKJ7JvkA8-wPuifogGk9NvqTUqC24nU2UUbVM,4143
52
- janito/cli/history.py,sha256=UIP_6UiGnJXmBke5hYqKXQVsOPrtKeyfBXW8vDxIoHQ,2114
53
- janito/cli/registry.py,sha256=R1sI45YonxjMSLhAle7Dt18X_devrMsLt0ljb-rNza4,690
54
- janito/demo/__init__.py,sha256=vIGC6fs44yzuSK3-RgYnnanBtZwnW52ivdVbA8Yc8Lk,108
55
- janito/demo/data.py,sha256=t208Kixcc3J6xbn43P2OSpqkpcRrrFoEXZ44oOQMcCE,415
56
- janito/demo/mock_data.py,sha256=mBg-qF8GcRx7M40IGXGytQJOWihEUm51CJqcez1BKIk,695
57
- janito/demo/operations.py,sha256=6QXFsrMVJqX30Y19nBD8fxTj5I6MJN4duQ2qwVG_lHY,1392
58
- janito/demo/runner.py,sha256=Xv6v8QVlIkEnlSaNU-Jt6Yjl_NbNg_g8DMZnp8kiFGQ,2385
59
- janito/demo/scenarios.py,sha256=xKW6cAL3tSHWP76fvbKHf2HyruhamAzHY1VaTVCkM8o,1060
60
- janito/search_replace/README.md,sha256=ctN4ubykUdUMaqHtM9TGM31pCrdyCKiwfHn03b0cwBw,4614
61
- janito/search_replace/__init__.py,sha256=7Er1wQRTqJ9fE7qFgzwnnhGHiEPWHel3KslOSWWDW5Q,319
62
- janito/search_replace/__main__.py,sha256=i0Wz387fqgiHq46QXCXpU9wnwdJYinjyY6HyoJJr_xw,520
63
- janito/search_replace/core.py,sha256=wxx-f0SCMmNfxymfobUlhQizcFyS1rD6RnMx0YekEQs,5904
64
- janito/search_replace/logger.py,sha256=eJR1FA-KiGfZTo416NmGCdlpp3Cgaq7jj-CDFsAGqSU,1052
65
- janito/search_replace/parser.py,sha256=wFr5Dc7Im6oh4AcVUkpwKIc0Gf5oNBCYKT2lhexmyQg,2123
66
- janito/search_replace/play.py,sha256=vmEqbna8CAEYk4B6Og0eETCRAYRmrBSnFTdiXopsH3M,1820
67
- janito/search_replace/replacer.py,sha256=7MKO9PpbAMUqmnxDk1mqkZ_yWE13QwjDfvjT0uU4ypA,1556
68
- janito/search_replace/searcher.py,sha256=F23WQ14myJ4pCIpDgS0wCFM4poimrlXBz7_XF3lmTZg,17228
69
- janito/search_replace/strategy_result.py,sha256=-XaT7blkoADV7VjFJZWTm2VztADojHmYn1dAvUBIVyw,293
70
- janito/shell/__init__.py,sha256=TFZi_TSEefpGXQwYcavsgJ0mX8d--wzNk-7qLgqmnOI,1158
71
- janito/shell/bus.py,sha256=xRl2-zlJsa0KPL2aSVtVJy9xH6GLw_7tEplvMIY5eCk,1041
72
- janito/shell/commands.py,sha256=pjiJhf7jZB0TORDEewyFEKjjKiSus2VRLZdvs3BiQpg,4997
73
- janito/shell/history.py,sha256=EMSbdW9ccHQ__WA-WM5VHjnu_ihTk-4sCpQXmi7e8iI,706
74
- janito/shell/processor.py,sha256=GvINV9eR2JLG9lZ0ZbVIfGz6E6575iMhtst4oN5qwKw,1102
75
- janito/shell/prompt.py,sha256=zyHXbuugu8kyVtqbg3SvIWwpCQpv1qHtEBE2jbhNY8I,1744
76
- janito/shell/registry.py,sha256=5nDeTQ8rl5ZAEaR6RefZOuf9k5wB0T20QIJV1hTciI4,2339
77
- janito/tui/__init__.py,sha256=5u1TfGO99LmCtC8ilpXahkXWVJSWtBACqU_O8VtJewI,773
78
- janito/tui/base.py,sha256=qU_8i0aQ3sWIkgnKQDUGr3bhypDzSdqYCkNGFfRbIos,692
79
- janito/tui/flows/__init__.py,sha256=uI8MtTdIe2BWqbqcfJNnBdhxZcwc207wVjIWusGuDq4,161
80
- janito/tui/flows/changes.py,sha256=e-zHzmY8kbrbPRyyfcecFW21mH0xnn9AXnr7gsYI82s,2153
81
- janito/tui/flows/content.py,sha256=mAi4R0ncpC_PzjETqqH9kvy2n1xRKWLhNX5xqPgQjoM,4197
82
- janito/tui/flows/selection.py,sha256=PcrcY8hTl3ljZOmLYA_I3r3CVRdqKfqFlRxZSgS9rDo,4031
83
- janito/tui/screens/__init__.py,sha256=YZ8NVoXMs7c_aT1NuIBiZrkLfXCzaQ85yMKZ_Uh6wlE,69
84
- janito/tui/screens/app.py,sha256=XEiADppmDOYkjR1p7sH6N7Zqqm7RWvXSd5_udlAdvbA,92
85
- janito/workspace/__init__.py,sha256=BV-O8czw125wprurtIOm-DNA01ZpSojNTYGBWZx14Cw,111
86
- janito/workspace/analysis.py,sha256=pJ6fe7P8Ex1WXlZfhjr_73ZJpPfkjxt9BMoH6aSMLh8,4084
87
- janito/workspace/show.py,sha256=nyHBM4xTYQL61axXemq0b4O6sHtS00EQQSoeT2PdCnc,4932
88
- janito/workspace/stats.py,sha256=KcLouvJ3xqDIf1qTZaZeAaojeuixkBNcooob2twqFPg,1325
89
- janito/workspace/types.py,sha256=qPZj8DCC38ygFB9am2j4sXsw-cmtMMG60aAOjoVPxr0,3450
90
- janito/workspace/workset.py,sha256=my9HBWdGz09zHGR1BmwYiPxr-rNHH-pDEs_YVNVHd64,3903
91
- janito/workspace/workspace.py,sha256=dDx78YQjTCHoiTu7gP4n2TdFnNbmFBOC-n07ka7YKEQ,4509
92
- janito-0.7.0.dist-info/METADATA,sha256=7KpfpqDHPRgcU2dgvHoqX6JzQyhl_1Fnih_6zpmL6gE,3990
93
- janito-0.7.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
94
- janito-0.7.0.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
95
- janito-0.7.0.dist-info/licenses/LICENSE,sha256=xLIUXRPjtsgQml2zD1Pn4LpgiyZ49raw6jZDlO_gZdo,1062
96
- janito-0.7.0.dist-info/RECORD,,
File without changes