@mseep/csv-editor 1.0.0

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 (106) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +53 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +38 -0
  3. package/.github/workflows/deploy-docs.yml +62 -0
  4. package/.github/workflows/publish-github.yml +52 -0
  5. package/.github/workflows/publish.yml +44 -0
  6. package/.github/workflows/test.yml +32 -0
  7. package/.pre-commit-config.yaml +157 -0
  8. package/ALTERNATIVE_PUBLISHING.md +175 -0
  9. package/ARCHITECTURE.md +1011 -0
  10. package/CHANGELOG.md +99 -0
  11. package/CODE_OF_CONDUCT.md +41 -0
  12. package/CONTRIBUTING.md +427 -0
  13. package/Dockerfile +22 -0
  14. package/LICENSE +21 -0
  15. package/MCP_CONFIG.md +505 -0
  16. package/PUBLISHING.md +210 -0
  17. package/README.md +400 -0
  18. package/SECURITY.md +61 -0
  19. package/docs/README.md +41 -0
  20. package/docs/blog/2019-05-28-first-blog-post.md +12 -0
  21. package/docs/blog/2019-05-29-long-blog-post.md +44 -0
  22. package/docs/blog/2021-08-01-mdx-blog-post.mdx +24 -0
  23. package/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  24. package/docs/blog/2021-08-26-welcome/index.md +29 -0
  25. package/docs/blog/authors.yml +25 -0
  26. package/docs/blog/tags.yml +19 -0
  27. package/docs/docs/api/overview.md +183 -0
  28. package/docs/docs/installation.md +252 -0
  29. package/docs/docs/intro.md +87 -0
  30. package/docs/docs/tutorial-basics/_category_.json +8 -0
  31. package/docs/docs/tutorial-basics/congratulations.md +23 -0
  32. package/docs/docs/tutorial-basics/create-a-blog-post.md +34 -0
  33. package/docs/docs/tutorial-basics/create-a-document.md +57 -0
  34. package/docs/docs/tutorial-basics/create-a-page.md +43 -0
  35. package/docs/docs/tutorial-basics/deploy-your-site.md +31 -0
  36. package/docs/docs/tutorial-basics/markdown-features.mdx +152 -0
  37. package/docs/docs/tutorial-extras/_category_.json +7 -0
  38. package/docs/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
  39. package/docs/docs/tutorial-extras/img/localeDropdown.png +0 -0
  40. package/docs/docs/tutorial-extras/manage-docs-versions.md +55 -0
  41. package/docs/docs/tutorial-extras/translate-your-site.md +88 -0
  42. package/docs/docs/tutorials/quickstart.md +365 -0
  43. package/docs/docusaurus.config.ts +163 -0
  44. package/docs/package-lock.json +17493 -0
  45. package/docs/package.json +48 -0
  46. package/docs/sidebars.ts +33 -0
  47. package/docs/src/components/HomepageFeatures/index.tsx +71 -0
  48. package/docs/src/components/HomepageFeatures/styles.module.css +11 -0
  49. package/docs/src/css/custom.css +30 -0
  50. package/docs/src/pages/index.module.css +23 -0
  51. package/docs/src/pages/index.tsx +44 -0
  52. package/docs/src/pages/markdown-page.md +7 -0
  53. package/docs/static/.nojekyll +0 -0
  54. package/docs/static/img/docusaurus-social-card.jpg +0 -0
  55. package/docs/static/img/docusaurus.png +0 -0
  56. package/docs/static/img/favicon.ico +0 -0
  57. package/docs/static/img/logo.svg +1 -0
  58. package/docs/static/img/undraw_docusaurus_mountain.svg +171 -0
  59. package/docs/static/img/undraw_docusaurus_react.svg +170 -0
  60. package/docs/static/img/undraw_docusaurus_tree.svg +40 -0
  61. package/docs/tsconfig.json +8 -0
  62. package/examples/README.md +48 -0
  63. package/examples/auto_save_demo.py +206 -0
  64. package/examples/auto_save_overwrite.py +201 -0
  65. package/examples/basic_usage.py +135 -0
  66. package/examples/demo.py +139 -0
  67. package/examples/history_demo.py +317 -0
  68. package/examples/test_default_autosave.py +124 -0
  69. package/examples/update_consignee_example.py +179 -0
  70. package/package.json +51 -0
  71. package/plans/2026-04-19-fastmcp3-migration-plan.md +1045 -0
  72. package/pyproject.toml +331 -0
  73. package/requirements-dev.txt +30 -0
  74. package/requirements.txt +22 -0
  75. package/scripts/publish.py +67 -0
  76. package/smithery.yaml +15 -0
  77. package/specs/2026-04-19-fastmcp3-migration-design.md +243 -0
  78. package/src/csv_editor/__init__.py +8 -0
  79. package/src/csv_editor/models/__init__.py +39 -0
  80. package/src/csv_editor/models/auto_save.py +246 -0
  81. package/src/csv_editor/models/csv_session.py +468 -0
  82. package/src/csv_editor/models/data_models.py +244 -0
  83. package/src/csv_editor/models/history_manager.py +456 -0
  84. package/src/csv_editor/prompts/__init__.py +0 -0
  85. package/src/csv_editor/prompts/data_prompts.py +13 -0
  86. package/src/csv_editor/resources/__init__.py +0 -0
  87. package/src/csv_editor/resources/csv_resources.py +22 -0
  88. package/src/csv_editor/server.py +640 -0
  89. package/src/csv_editor/tools/__init__.py +5 -0
  90. package/src/csv_editor/tools/analytics.py +700 -0
  91. package/src/csv_editor/tools/auto_save_operations.py +235 -0
  92. package/src/csv_editor/tools/data_operations.py +3 -0
  93. package/src/csv_editor/tools/history_operations.py +315 -0
  94. package/src/csv_editor/tools/io_operations.py +431 -0
  95. package/src/csv_editor/tools/transformations.py +663 -0
  96. package/src/csv_editor/tools/validation.py +822 -0
  97. package/src/csv_editor/utils/__init__.py +0 -0
  98. package/src/csv_editor/utils/validators.py +205 -0
  99. package/tests/README.md +65 -0
  100. package/tests/__init__.py +7 -0
  101. package/tests/conftest.py +50 -0
  102. package/tests/test_auto_save.py +378 -0
  103. package/tests/test_basic.py +103 -0
  104. package/tests/test_integration.py +356 -0
  105. package/tests/test_server_boot.py +50 -0
  106. package/tests/test_settings.py +184 -0
@@ -0,0 +1,183 @@
1
+ ---
2
+ sidebar_position: 1
3
+ title: API Overview
4
+ ---
5
+
6
+ # API Reference Overview
7
+
8
+ CSV Editor provides a comprehensive set of tools for CSV manipulation through the Model Context Protocol (MCP). This reference documents all available tools, their parameters, and usage examples.
9
+
10
+ ## Tool Categories
11
+
12
+ ### 📁 I/O Operations
13
+ Tools for loading and exporting CSV data in various formats.
14
+
15
+ - [load_csv](./io/load-csv) - Load CSV from file
16
+ - [load_csv_from_url](./io/load-url) - Load CSV from URL
17
+ - [load_csv_from_content](./io/load-content) - Load CSV from string
18
+ - [export_csv](./io/export) - Export to various formats
19
+ - [get_session_info](./io/session-info) - Get session details
20
+ - [list_sessions](./io/list-sessions) - List active sessions
21
+ - [close_session](./io/close-session) - Close a session
22
+
23
+ ### 🔧 Data Manipulation
24
+ Tools for transforming and modifying CSV data.
25
+
26
+ - [filter_rows](./manipulation/filter) - Filter with conditions
27
+ - [sort_data](./manipulation/sort) - Sort by columns
28
+ - [select_columns](./manipulation/select) - Select specific columns
29
+ - [rename_columns](./manipulation/rename) - Rename columns
30
+ - [add_column](./manipulation/add-column) - Add new columns
31
+ - [remove_columns](./manipulation/remove) - Remove columns
32
+ - [update_column](./manipulation/update) - Update column values
33
+ - [change_column_type](./manipulation/change-type) - Convert data types
34
+ - [fill_missing_values](./manipulation/fill-missing) - Handle nulls
35
+ - [remove_duplicates](./manipulation/remove-duplicates) - Deduplicate
36
+
37
+ ### 📊 Analysis
38
+ Tools for statistical analysis and data exploration.
39
+
40
+ - [get_statistics](./analysis/statistics) - Statistical summary
41
+ - [get_column_statistics](./analysis/column-stats) - Column statistics
42
+ - [get_correlation_matrix](./analysis/correlation) - Correlation analysis
43
+ - [group_by_aggregate](./analysis/group-by) - Group operations
44
+ - [get_value_counts](./analysis/value-counts) - Frequency counts
45
+ - [detect_outliers](./analysis/outliers) - Find outliers
46
+ - [profile_data](./analysis/profile) - Data profiling
47
+
48
+ ### ✅ Validation
49
+ Tools for data quality and validation.
50
+
51
+ - [validate_schema](./validation/schema) - Schema validation
52
+ - [check_data_quality](./validation/quality) - Quality metrics
53
+ - [find_anomalies](./validation/anomalies) - Anomaly detection
54
+
55
+ ### 💾 Auto-Save & History
56
+ Tools for persistence and version control.
57
+
58
+ - [configure_auto_save](./persistence/auto-save) - Configure auto-save
59
+ - [get_auto_save_status](./persistence/auto-save-status) - Check status
60
+ - [trigger_manual_save](./persistence/manual-save) - Manual save
61
+ - [undo](./persistence/undo) - Undo last operation
62
+ - [redo](./persistence/redo) - Redo operation
63
+ - [get_history](./persistence/history) - View history
64
+ - [restore_to_operation](./persistence/restore) - Time travel
65
+
66
+ ## Common Patterns
67
+
68
+ ### Session Management
69
+
70
+ All operations require a session ID obtained from loading data:
71
+
72
+ ```python
73
+ # Load data and get session ID
74
+ result = await load_csv(file_path="/path/to/data.csv")
75
+ session_id = result["session_id"]
76
+
77
+ # Use session ID in subsequent operations
78
+ await filter_rows(session_id=session_id, conditions=[...])
79
+ await export_csv(session_id=session_id, format="excel")
80
+ ```
81
+
82
+ ### Error Handling
83
+
84
+ All tools return consistent error responses:
85
+
86
+ ```json
87
+ {
88
+ "success": false,
89
+ "error": "Error message",
90
+ "error_type": "ValueError",
91
+ "details": "Additional context"
92
+ }
93
+ ```
94
+
95
+ ### Response Format
96
+
97
+ Successful operations return:
98
+
99
+ ```json
100
+ {
101
+ "success": true,
102
+ "data": {...},
103
+ "message": "Operation completed",
104
+ "metadata": {
105
+ "rows_affected": 100,
106
+ "execution_time": 0.123
107
+ }
108
+ }
109
+ ```
110
+
111
+ ## Data Types
112
+
113
+ ### Supported Column Types
114
+ - `string` - Text data
115
+ - `integer` - Whole numbers
116
+ - `float` - Decimal numbers
117
+ - `datetime` - Date and time
118
+ - `boolean` - True/False values
119
+ - `category` - Categorical data
120
+
121
+ ### Export Formats
122
+ - `csv` - Comma-separated values
123
+ - `tsv` - Tab-separated values
124
+ - `json` - JSON array or records
125
+ - `excel` - Excel spreadsheet (.xlsx)
126
+ - `parquet` - Apache Parquet format
127
+ - `html` - HTML table
128
+ - `markdown` - Markdown table
129
+
130
+ ## Filter Operators
131
+
132
+ | Operator | Description | Example |
133
+ |----------|-------------|---------|
134
+ | `==` | Equal to | `{"column": "status", "operator": "==", "value": "active"}` |
135
+ | `!=` | Not equal to | `{"column": "status", "operator": "!=", "value": "inactive"}` |
136
+ | `>` | Greater than | `{"column": "amount", "operator": ">", "value": 1000}` |
137
+ | `<` | Less than | `{"column": "age", "operator": "<", "value": 18}` |
138
+ | `>=` | Greater than or equal | `{"column": "score", "operator": ">=", "value": 80}` |
139
+ | `<=` | Less than or equal | `{"column": "price", "operator": "<=", "value": 100}` |
140
+ | `contains` | Contains substring | `{"column": "name", "operator": "contains", "value": "John"}` |
141
+ | `starts_with` | Starts with | `{"column": "email", "operator": "starts_with", "value": "admin"}` |
142
+ | `ends_with` | Ends with | `{"column": "file", "operator": "ends_with", "value": ".csv"}` |
143
+ | `in` | In list | `{"column": "category", "operator": "in", "value": ["A", "B"]}` |
144
+ | `not_in` | Not in list | `{"column": "status", "operator": "not_in", "value": ["deleted"]}` |
145
+ | `is_null` | Is null | `{"column": "email", "operator": "is_null"}` |
146
+ | `not_null` | Is not null | `{"column": "phone", "operator": "not_null"}` |
147
+
148
+ ## Aggregation Functions
149
+
150
+ Available aggregation functions for `group_by_aggregate`:
151
+
152
+ - `sum` - Sum of values
153
+ - `mean` - Average value
154
+ - `median` - Median value
155
+ - `min` - Minimum value
156
+ - `max` - Maximum value
157
+ - `count` - Count of non-null values
158
+ - `std` - Standard deviation
159
+ - `var` - Variance
160
+ - `first` - First value
161
+ - `last` - Last value
162
+
163
+ ## Best Practices
164
+
165
+ 1. **Always close sessions** when done to free resources
166
+ 2. **Use chunking** for large files (>100MB)
167
+ 3. **Enable auto-save** for important data
168
+ 4. **Validate data** before processing
169
+ 5. **Use appropriate data types** for better performance
170
+ 6. **Handle errors gracefully** in your client code
171
+
172
+ ## Rate Limits
173
+
174
+ - Maximum file size: 1GB (configurable)
175
+ - Maximum concurrent sessions: 10 per user
176
+ - Session timeout: 1 hour (configurable)
177
+ - Maximum rows per operation: 10 million
178
+
179
+ ## Next Steps
180
+
181
+ - Explore specific tool documentation in each category
182
+ - See [Examples](../examples) for real-world use cases
183
+ - Check [Tutorials](../tutorials/quickstart) for step-by-step guides
@@ -0,0 +1,252 @@
1
+ ---
2
+ sidebar_position: 2
3
+ title: Installation
4
+ ---
5
+
6
+ # Installation Guide
7
+
8
+ Get CSV Editor up and running in just 2 minutes! This guide covers all installation methods and client configurations.
9
+
10
+ ## Prerequisites
11
+
12
+ - **Python 3.8+** (3.11+ recommended for best performance)
13
+ - **Operating System**: Windows, macOS, or Linux
14
+ - **Package Manager**: uv (recommended), pip, or conda
15
+
16
+ ## Quick Install (Recommended)
17
+
18
+ ### Using uv (Fastest)
19
+
20
+ [uv](https://github.com/astral-sh/uv) is an ultra-fast Python package manager that makes installation simple:
21
+
22
+ ```bash
23
+ # Install uv (one-time setup)
24
+ curl -LsSf https://astral.sh/uv/install.sh | sh
25
+ # Or on Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
26
+
27
+ # Clone and install CSV Editor
28
+ git clone https://github.com/santoshray02/csv-editor.git
29
+ cd csv-editor
30
+ uv sync
31
+
32
+ # Run the server
33
+ uv run csv-editor
34
+ ```
35
+
36
+ ### Using pip
37
+
38
+ ```bash
39
+ # Clone the repository
40
+ git clone https://github.com/santoshray02/csv-editor.git
41
+ cd csv-editor
42
+
43
+ # Create virtual environment
44
+ python -m venv .venv
45
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
46
+
47
+ # Install dependencies
48
+ pip install -e .
49
+
50
+ # Run the server
51
+ python -m csv_editor.server
52
+ ```
53
+
54
+ ## Client Configuration
55
+
56
+ ### Claude Desktop
57
+
58
+ Configure Claude Desktop to use CSV Editor as an MCP server.
59
+
60
+ #### macOS
61
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
62
+
63
+ ```json
64
+ {
65
+ "mcpServers": {
66
+ "csv-editor": {
67
+ "command": "uv",
68
+ "args": ["tool", "run", "csv-editor"],
69
+ "cwd": "/path/to/csv-editor",
70
+ "env": {
71
+ "CSV_MAX_FILE_SIZE": "1073741824",
72
+ "CSV_SESSION_TIMEOUT": "3600"
73
+ }
74
+ }
75
+ }
76
+ }
77
+ ```
78
+
79
+ #### Windows
80
+ Edit `%APPDATA%\Claude\claude_desktop_config.json`:
81
+
82
+ ```json
83
+ {
84
+ "mcpServers": {
85
+ "csv-editor": {
86
+ "command": "uv",
87
+ "args": ["tool", "run", "csv-editor"],
88
+ "cwd": "C:\\path\\to\\csv-editor",
89
+ "env": {
90
+ "CSV_MAX_FILE_SIZE": "1073741824",
91
+ "CSV_SESSION_TIMEOUT": "3600"
92
+ }
93
+ }
94
+ }
95
+ }
96
+ ```
97
+
98
+ #### Linux
99
+ Edit `~/.config/Claude/claude_desktop_config.json`:
100
+
101
+ ```json
102
+ {
103
+ "mcpServers": {
104
+ "csv-editor": {
105
+ "command": "uv",
106
+ "args": ["tool", "run", "csv-editor"],
107
+ "cwd": "/home/user/csv-editor",
108
+ "env": {
109
+ "CSV_MAX_FILE_SIZE": "1073741824",
110
+ "CSV_SESSION_TIMEOUT": "3600"
111
+ }
112
+ }
113
+ }
114
+ }
115
+ ```
116
+
117
+ ### VS Code Extensions
118
+
119
+ #### Continue
120
+ Edit `~/.continue/config.json`:
121
+
122
+ ```json
123
+ {
124
+ "mcpServers": {
125
+ "csv-editor": {
126
+ "command": "uv",
127
+ "args": ["tool", "run", "csv-editor"],
128
+ "cwd": "/path/to/csv-editor"
129
+ }
130
+ }
131
+ }
132
+ ```
133
+
134
+ #### Cline
135
+ Add to VS Code settings (`settings.json`):
136
+
137
+ ```json
138
+ {
139
+ "cline.mcpServers": {
140
+ "csv-editor": {
141
+ "command": "uv",
142
+ "args": ["tool", "run", "csv-editor"],
143
+ "cwd": "/path/to/csv-editor"
144
+ }
145
+ }
146
+ }
147
+ ```
148
+
149
+ ### Other Clients
150
+
151
+ For detailed configuration of other clients (Windsurf, Zed, etc.), see [MCP_CONFIG.md](https://github.com/santoshray02/csv-editor/blob/main/MCP_CONFIG.md).
152
+
153
+ ## Advanced Installation
154
+
155
+ ### Install with All Features
156
+
157
+ ```bash
158
+ # With uv
159
+ uv sync --all-extras
160
+
161
+ # With pip
162
+ pip install -e ".[all]"
163
+ ```
164
+
165
+ ### Install for Development
166
+
167
+ ```bash
168
+ # With uv
169
+ uv sync --all-extras
170
+ uv run pre-commit install
171
+
172
+ # With pip
173
+ pip install -e ".[dev]"
174
+ pre-commit install
175
+ ```
176
+
177
+ ### Global Installation with pipx
178
+
179
+ ```bash
180
+ pipx install git+https://github.com/santoshray02/csv-editor.git
181
+ ```
182
+
183
+ ## Environment Variables
184
+
185
+ Configure CSV Editor behavior with these environment variables:
186
+
187
+ | Variable | Default | Description |
188
+ |----------|---------|-------------|
189
+ | `CSV_MAX_FILE_SIZE` | 1GB | Maximum file size in bytes |
190
+ | `CSV_SESSION_TIMEOUT` | 3600 | Session timeout in seconds |
191
+ | `CSV_CHUNK_SIZE` | 10000 | Rows per processing chunk |
192
+ | `CSV_AUTO_SAVE` | true | Enable auto-save by default |
193
+ | `CSV_LOG_LEVEL` | INFO | Logging level |
194
+
195
+ ## Verification
196
+
197
+ ### Test the Installation
198
+
199
+ ```bash
200
+ # Check if server starts
201
+ uv run csv-editor --help
202
+
203
+ # Run with verbose output
204
+ CSV_LOG_LEVEL=DEBUG uv run csv-editor
205
+ ```
206
+
207
+ ### Test with MCP Inspector
208
+
209
+ ```bash
210
+ # Install MCP Inspector
211
+ npm install -g @modelcontextprotocol/inspector
212
+
213
+ # Test the server
214
+ mcp-inspector uv tool run csv-editor
215
+ ```
216
+
217
+ ### Verify in Your Client
218
+
219
+ 1. **Claude Desktop**: Look for "csv-editor" in the MCP servers list
220
+ 2. **VS Code**: Check the extension's MCP panel
221
+ 3. **Command Line**: Run a test command
222
+
223
+ ## Troubleshooting
224
+
225
+ ### Common Issues
226
+
227
+ #### Server not starting
228
+ - Check Python version: `python --version` (must be 3.8+)
229
+ - Verify installation: `uv run csv-editor --version`
230
+ - Check logs: `CSV_LOG_LEVEL=DEBUG uv run csv-editor`
231
+
232
+ #### Client can't connect
233
+ - Verify the path in your configuration is correct
234
+ - Ensure the server is running
235
+ - Check firewall settings for local connections
236
+
237
+ #### Permission errors
238
+ - On macOS/Linux: Check file permissions
239
+ - On Windows: Run as administrator if needed
240
+
241
+ ### Getting Help
242
+
243
+ - [GitHub Issues](https://github.com/santoshray02/csv-editor/issues)
244
+ - [GitHub Discussions](https://github.com/santoshray02/csv-editor/discussions)
245
+ - [Documentation](https://csv-editor-docs.vercel.app)
246
+
247
+ ## Next Steps
248
+
249
+ Now that CSV Editor is installed, continue to:
250
+ - [Quick Start Tutorial](./tutorials/quickstart) - Learn the basics
251
+ - [API Reference](./api/overview) - Explore all available tools
252
+ - [Examples](./examples) - See real-world use cases
@@ -0,0 +1,87 @@
1
+ ---
2
+ sidebar_position: 1
3
+ title: Introduction
4
+ slug: /intro
5
+ ---
6
+
7
+ # Welcome to CSV Editor
8
+
9
+ **Transform how AI assistants work with CSV data.** CSV Editor is a high-performance MCP (Model Context Protocol) server that gives Claude, ChatGPT, and other AI assistants powerful data manipulation capabilities through simple commands.
10
+
11
+ ## What is CSV Editor?
12
+
13
+ CSV Editor is a comprehensive data processing tool that bridges the gap between AI assistants and complex data operations. It provides 40+ specialized tools for CSV operations, turning AI assistants into powerful data analysts.
14
+
15
+ ## Key Features
16
+
17
+ ### 🚀 Core Capabilities
18
+ - **Session Management**: Multi-user support with isolated sessions
19
+ - **Auto-Save**: Automatic data persistence with multiple strategies
20
+ - **History & Undo/Redo**: Complete operation history with time-travel
21
+ - **Multiple Data Sources**: Load from files, URLs, or strings
22
+ - **Export Formats**: CSV, JSON, Excel, Parquet, HTML, Markdown
23
+
24
+ ### 📊 Data Operations
25
+ - Complex filtering with AND/OR logic
26
+ - Multi-column sorting
27
+ - Column operations (add, remove, rename, update)
28
+ - Smart type conversion
29
+ - Missing value handling
30
+ - Duplicate removal
31
+
32
+ ### 📈 Analytics
33
+ - Statistical analysis with percentiles
34
+ - Correlation matrices (Pearson, Spearman, Kendall)
35
+ - Group-by aggregations
36
+ - Outlier detection (IQR, Z-score)
37
+ - Comprehensive data profiling
38
+
39
+ ### ✅ Validation
40
+ - Schema validation
41
+ - Data quality scoring
42
+ - Anomaly detection
43
+ - Pattern matching
44
+
45
+ ## Why Choose CSV Editor?
46
+
47
+ | Feature | CSV Editor | Traditional Tools |
48
+ |---------|-----------|------------------|
49
+ | **AI Integration** | Native MCP protocol | Manual operations |
50
+ | **Auto-Save** | Automatic with strategies | Manual save required |
51
+ | **History Tracking** | Full undo/redo | Limited or none |
52
+ | **Session Management** | Multi-user isolated | Single user |
53
+ | **Performance** | Handles GB+ files | Memory limitations |
54
+
55
+ ## Quick Example
56
+
57
+ Here's what your AI assistant can do with CSV Editor:
58
+
59
+ ```python
60
+ # Natural language commands become data operations
61
+ "Load the sales data and remove duplicates"
62
+ "Filter for Q4 2024 transactions over $10,000"
63
+ "Calculate correlation between price and quantity"
64
+ "Fill missing values with the median"
65
+ "Export as Excel with the analysis"
66
+ ```
67
+
68
+ ## Getting Started
69
+
70
+ Ready to supercharge your AI's data capabilities? Continue to the [Installation Guide](./installation) to set up CSV Editor in just 2 minutes!
71
+
72
+ ## Learn More
73
+
74
+ - [Installation Guide](./installation) - Set up CSV Editor
75
+ - [Quick Start Tutorial](./tutorials/quickstart) - Your first data processing
76
+ - [API Reference](./api/overview) - Complete tool documentation
77
+ - [Examples](./examples) - Real-world use cases
78
+
79
+ ## Community & Support
80
+
81
+ - [GitHub Repository](https://github.com/santoshray02/csv-editor)
82
+ - [GitHub Discussions](https://github.com/santoshray02/csv-editor/discussions)
83
+ - [Report Issues](https://github.com/santoshray02/csv-editor/issues)
84
+
85
+ ---
86
+
87
+ **Built with ❤️ using [FastMCP](https://github.com/jlowin/fastmcp) and [Pandas](https://pandas.pydata.org/)**
@@ -0,0 +1,8 @@
1
+ {
2
+ "label": "Tutorial - Basics",
3
+ "position": 2,
4
+ "link": {
5
+ "type": "generated-index",
6
+ "description": "5 minutes to learn the most important Docusaurus concepts."
7
+ }
8
+ }
@@ -0,0 +1,23 @@
1
+ ---
2
+ sidebar_position: 6
3
+ ---
4
+
5
+ # Congratulations!
6
+
7
+ You have just learned the **basics of Docusaurus** and made some changes to the **initial template**.
8
+
9
+ Docusaurus has **much more to offer**!
10
+
11
+ Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**.
12
+
13
+ Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610)
14
+
15
+ ## What's next?
16
+
17
+ - Read the [official documentation](https://docusaurus.io/)
18
+ - Modify your site configuration with [`docusaurus.config.js`](https://docusaurus.io/docs/api/docusaurus-config)
19
+ - Add navbar and footer items with [`themeConfig`](https://docusaurus.io/docs/api/themes/configuration)
20
+ - Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout)
21
+ - Add a [search bar](https://docusaurus.io/docs/search)
22
+ - Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase)
23
+ - Get involved in the [Docusaurus Community](https://docusaurus.io/community/support)
@@ -0,0 +1,34 @@
1
+ ---
2
+ sidebar_position: 3
3
+ ---
4
+
5
+ # Create a Blog Post
6
+
7
+ Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed...
8
+
9
+ ## Create your first Post
10
+
11
+ Create a file at `blog/2021-02-28-greetings.md`:
12
+
13
+ ```md title="blog/2021-02-28-greetings.md"
14
+ ---
15
+ slug: greetings
16
+ title: Greetings!
17
+ authors:
18
+ - name: Joel Marcey
19
+ title: Co-creator of Docusaurus 1
20
+ url: https://github.com/JoelMarcey
21
+ image_url: https://github.com/JoelMarcey.png
22
+ - name: Sébastien Lorber
23
+ title: Docusaurus maintainer
24
+ url: https://sebastienlorber.com
25
+ image_url: https://github.com/slorber.png
26
+ tags: [greetings]
27
+ ---
28
+
29
+ Congratulations, you have made your first post!
30
+
31
+ Feel free to play around and edit this post as much as you like.
32
+ ```
33
+
34
+ A new blog post is now available at [http://localhost:3000/blog/greetings](http://localhost:3000/blog/greetings).
@@ -0,0 +1,57 @@
1
+ ---
2
+ sidebar_position: 2
3
+ ---
4
+
5
+ # Create a Document
6
+
7
+ Documents are **groups of pages** connected through:
8
+
9
+ - a **sidebar**
10
+ - **previous/next navigation**
11
+ - **versioning**
12
+
13
+ ## Create your first Doc
14
+
15
+ Create a Markdown file at `docs/hello.md`:
16
+
17
+ ```md title="docs/hello.md"
18
+ # Hello
19
+
20
+ This is my **first Docusaurus document**!
21
+ ```
22
+
23
+ A new document is now available at [http://localhost:3000/docs/hello](http://localhost:3000/docs/hello).
24
+
25
+ ## Configure the Sidebar
26
+
27
+ Docusaurus automatically **creates a sidebar** from the `docs` folder.
28
+
29
+ Add metadata to customize the sidebar label and position:
30
+
31
+ ```md title="docs/hello.md" {1-4}
32
+ ---
33
+ sidebar_label: 'Hi!'
34
+ sidebar_position: 3
35
+ ---
36
+
37
+ # Hello
38
+
39
+ This is my **first Docusaurus document**!
40
+ ```
41
+
42
+ It is also possible to create your sidebar explicitly in `sidebars.js`:
43
+
44
+ ```js title="sidebars.js"
45
+ export default {
46
+ tutorialSidebar: [
47
+ 'intro',
48
+ // highlight-next-line
49
+ 'hello',
50
+ {
51
+ type: 'category',
52
+ label: 'Tutorial',
53
+ items: ['tutorial-basics/create-a-document'],
54
+ },
55
+ ],
56
+ };
57
+ ```
@@ -0,0 +1,43 @@
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # Create a Page
6
+
7
+ Add **Markdown or React** files to `src/pages` to create a **standalone page**:
8
+
9
+ - `src/pages/index.js` → `localhost:3000/`
10
+ - `src/pages/foo.md` → `localhost:3000/foo`
11
+ - `src/pages/foo/bar.js` → `localhost:3000/foo/bar`
12
+
13
+ ## Create your first React Page
14
+
15
+ Create a file at `src/pages/my-react-page.js`:
16
+
17
+ ```jsx title="src/pages/my-react-page.js"
18
+ import React from 'react';
19
+ import Layout from '@theme/Layout';
20
+
21
+ export default function MyReactPage() {
22
+ return (
23
+ <Layout>
24
+ <h1>My React page</h1>
25
+ <p>This is a React page</p>
26
+ </Layout>
27
+ );
28
+ }
29
+ ```
30
+
31
+ A new page is now available at [http://localhost:3000/my-react-page](http://localhost:3000/my-react-page).
32
+
33
+ ## Create your first Markdown Page
34
+
35
+ Create a file at `src/pages/my-markdown-page.md`:
36
+
37
+ ```mdx title="src/pages/my-markdown-page.md"
38
+ # My Markdown page
39
+
40
+ This is a Markdown page
41
+ ```
42
+
43
+ A new page is now available at [http://localhost:3000/my-markdown-page](http://localhost:3000/my-markdown-page).