@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,163 @@
1
+ import {themes as prismThemes} from 'prism-react-renderer';
2
+ import type {Config} from '@docusaurus/types';
3
+ import type * as Preset from '@docusaurus/preset-classic';
4
+
5
+ // This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
6
+
7
+ const config: Config = {
8
+ title: 'CSV Editor',
9
+ tagline: 'AI-Powered CSV Processing via Model Context Protocol',
10
+ favicon: 'img/favicon.ico',
11
+
12
+ // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future
13
+ future: {
14
+ v4: true, // Improve compatibility with the upcoming Docusaurus v4
15
+ },
16
+
17
+ // Set the production url of your site here
18
+ url: 'https://santoshray02.github.io',
19
+ // Set the /<baseUrl>/ pathname under which your site is served
20
+ // For GitHub pages deployment, it is often '/<projectName>/'
21
+ baseUrl: '/csv-editor/',
22
+
23
+ // GitHub pages deployment config.
24
+ // If you aren't using GitHub pages, you don't need these.
25
+ organizationName: 'santoshray02', // Usually your GitHub org/user name.
26
+ projectName: 'csv-editor', // Usually your repo name.
27
+ deploymentBranch: 'gh-pages',
28
+ trailingSlash: false,
29
+
30
+ onBrokenLinks: 'throw',
31
+ onBrokenMarkdownLinks: 'warn',
32
+
33
+ // Even if you don't use internationalization, you can use this field to set
34
+ // useful metadata like html lang. For example, if your site is Chinese, you
35
+ // may want to replace "en" with "zh-Hans".
36
+ i18n: {
37
+ defaultLocale: 'en',
38
+ locales: ['en'],
39
+ },
40
+
41
+ presets: [
42
+ [
43
+ 'classic',
44
+ {
45
+ docs: {
46
+ sidebarPath: './sidebars.ts',
47
+ // Please change this to your repo.
48
+ // Remove this to remove the "edit this page" links.
49
+ editUrl:
50
+ 'https://github.com/santoshray02/csv-editor/tree/main/docs/',
51
+ },
52
+ blog: {
53
+ showReadingTime: true,
54
+ feedOptions: {
55
+ type: ['rss', 'atom'],
56
+ xslt: true,
57
+ },
58
+ // Please change this to your repo.
59
+ // Remove this to remove the "edit this page" links.
60
+ editUrl:
61
+ 'https://github.com/santoshray02/csv-editor/tree/main/docs/',
62
+ // Useful options to enforce blogging best practices
63
+ onInlineTags: 'warn',
64
+ onInlineAuthors: 'warn',
65
+ onUntruncatedBlogPosts: 'warn',
66
+ },
67
+ theme: {
68
+ customCss: './src/css/custom.css',
69
+ },
70
+ } satisfies Preset.Options,
71
+ ],
72
+ ],
73
+
74
+ themeConfig: {
75
+ // Replace with your project's social card
76
+ image: 'img/csv-editor-social-card.jpg',
77
+ navbar: {
78
+ title: 'CSV Editor',
79
+ logo: {
80
+ alt: 'CSV Editor Logo',
81
+ src: 'img/logo.svg',
82
+ },
83
+ items: [
84
+ {
85
+ type: 'docSidebar',
86
+ sidebarId: 'tutorialSidebar',
87
+ position: 'left',
88
+ label: 'Documentation',
89
+ },
90
+ {to: '/blog', label: 'Blog', position: 'left'},
91
+ {
92
+ href: 'https://github.com/santoshray02/csv-editor',
93
+ label: 'GitHub',
94
+ position: 'right',
95
+ },
96
+ ],
97
+ },
98
+ footer: {
99
+ style: 'dark',
100
+ links: [
101
+ {
102
+ title: 'Docs',
103
+ items: [
104
+ {
105
+ label: 'Getting Started',
106
+ to: '/docs/intro',
107
+ },
108
+ {
109
+ label: 'Installation',
110
+ to: '/docs/installation',
111
+ },
112
+ {
113
+ label: 'API Reference',
114
+ to: '/docs/api/overview',
115
+ },
116
+ ],
117
+ },
118
+ {
119
+ title: 'Community',
120
+ items: [
121
+ {
122
+ label: 'GitHub Discussions',
123
+ href: 'https://github.com/santoshray02/csv-editor/discussions',
124
+ },
125
+ {
126
+ label: 'Discord',
127
+ href: 'https://discord.gg/csv-editor',
128
+ },
129
+ {
130
+ label: 'Twitter',
131
+ href: 'https://twitter.com/csv_editor',
132
+ },
133
+ ],
134
+ },
135
+ {
136
+ title: 'More',
137
+ items: [
138
+ {
139
+ label: 'Blog',
140
+ to: '/blog',
141
+ },
142
+ {
143
+ label: 'GitHub',
144
+ href: 'https://github.com/santoshray02/csv-editor',
145
+ },
146
+ {
147
+ label: 'PyPI',
148
+ href: 'https://pypi.org/project/csv-editor',
149
+ },
150
+ ],
151
+ },
152
+ ],
153
+ copyright: `Copyright © ${new Date().getFullYear()} CSV Editor. Built with Docusaurus.`,
154
+ },
155
+ prism: {
156
+ theme: prismThemes.github,
157
+ darkTheme: prismThemes.dracula,
158
+ additionalLanguages: ['python', 'bash', 'json'],
159
+ },
160
+ } satisfies Preset.ThemeConfig,
161
+ };
162
+
163
+ export default config;