# Framework Translator
A powerful CLI tool and Python SDK for seamlessly translating code between machine learning frameworks using advanced AI models. Convert your code between PyTorch, TensorFlow, JAX, and Scikit-learn with ease.
## 🚀 Features
- **Multi-Framework Support**: Translate between PyTorch, TensorFlow, JAX, and Scikit-learn
- **CLI Interface**: Easy-to-use command-line tool with interactive prompts
- **Python SDK**: Programmatic access for integration into your workflows
- **Authentication**: Secure user authentication with credential management
- **Translation History**: Track and download your translation history
- **Smart Inference**: Automatic source framework detection when not specified
- **File & Interactive Input**: Support for both file-based and interactive code input
## 📦 Installation
### From PyPI (Recommended)
```bash
pip install framework-translator
```
### From Source
```bash
git clone <repository-url>
cd pypi-tool
pip install .
```
## 🔧 Quick Start
### 1. Register an Account
Before using the tool, you need to register at:
[https://code-translation-frontend-283805296028.us-central1.run.app/register](https://code-translation-frontend-283805296028.us-central1.run.app/register)
### 2. Login
```bash
ft login
```
### 3. Translate Code
```bash
ft translate
```
Follow the interactive prompts to translate your code!
## 🖥️ CLI Usage
### Commands Overview
```bash
ft --help # Show all available commands
ft login # Login to the service
ft logout # Logout from the service
ft translate # Interactive code translation
ft history # View translation history
ft history -d # Download history as JSON
ft version # Show version information
```
### Interactive Translation Workflow
When you run `ft translate`, you'll be guided through:
1. **Language Selection**: Choose your programming language (currently supports Python)
2. **Source Framework**: Specify source framework or let the AI infer it
3. **Framework Group**: Select framework category (e.g., "ml" for machine learning)
4. **Target Framework**: Choose your target framework
5. **Code Input**: Provide code via interactive input or file path
### Example Translation Session
```bash
$ ft translate
Translate: Framework Translator
Choose a language -> Languages supported [python]: python
Give us your framework: (Enter to let the model infer): pytorch
Choose a framework group -> Framework groups supported for language python [ml]: ml
Choose a target framework -> Target frameworks supported for group ml [jax, pytorch, scikit-learn, tensorflow]: tensorflow
Provide source code via one of the options:
1) Paste (end with 'END' on its own line)
2) File path
Select [1/2]: 1
Enter source code (end with a single line containing only 'END'):
import torch
import torch.nn as nn
class SimpleNet(nn.Module):
def __init__(self):
super().__init__()
self.fc = nn.Linear(10, 1)
def forward(self, x):
return self.fc(x)
END
Translating code to tensorflow...
--------------------------------------
----------Translation Result----------
--------------------------------------
import tensorflow as tf
class SimpleNet(tf.keras.Model):
def __init__(self):
super().__init__()
self.fc = tf.keras.layers.Dense(1)
def call(self, x):
return self.fc(x)
--------------------------------------
Translation completed successfully.
```
### File-Based Translation
You can also translate code from files:
```bash
ft translate
# ... follow prompts ...
Select [1/2]: 2
Enter file path: /path/to/your/code.py
```
### View Translation History
```bash
# View history in terminal
ft history
# Download history as JSON file
ft history -d
```
## 🐍 Python SDK Usage
The Framework Translator also provides a Python SDK for programmatic access:
### Basic SDK Usage
```python
import framework_translator.sdk as ft
# Check login status
if not ft.is_logged_in():
# Login (you can also use environment variables)
success = ft.login("your_username", "your_password")
if not success:
print("Login failed!")
exit(1)
# Translate code
pytorch_code = """
import torch
import torch.nn as nn
class Net(nn.Module):
def __init__(self):
super().__init__()
self.fc = nn.Linear(784, 10)
def forward(self, x):
return self.fc(x)
"""
# Translate to TensorFlow
tensorflow_code = ft.translate(
code=pytorch_code,
target_framework="tensorflow",
source_framework="pytorch" # Optional - can be inferred
)
print("Translated code:")
print(tensorflow_code)
```
### SDK Reference
#### Authentication
```python
# Check if logged in
ft.is_logged_in() -> bool
# Login
ft.login(username: str, password: str) -> bool
# Logout
ft.logout() -> None
```
#### Translation
```python
# Translate code
ft.translate(
code: str,
target_framework: str,
source_framework: Optional[str] = None
) -> str
```
#### Framework Information
```python
# Get supported frameworks
ft.get_supported_frameworks(group: Optional[str] = None) -> list[str]
ft.get_supported_groups() -> list[str]
ft.get_supported_languages() -> list[str]
# Get framework details
ft.get_framework_info(framework_name: str) -> dict
```
#### History
```python
# Get translation history
ft.get_history(page: int = 1, per_page: int = 50) -> list[dict]
```
### Advanced SDK Example
```python
import framework_translator.sdk as ft
def translate_project_files():
"""Example: Translate multiple files in a project"""
if not ft.is_logged_in():
print("Please login first")
return
# Get list of supported frameworks
frameworks = ft.get_supported_frameworks("ml")
print(f"Supported ML frameworks: {frameworks}")
# Read source file
with open("model.py", "r") as f:
source_code = f.read()
# Translate to multiple frameworks
for target in ["tensorflow", "jax"]:
try:
translated = ft.translate(
code=source_code,
target_framework=target,
source_framework="pytorch"
)
# Save translated code
with open(f"model_{target}.py", "w") as f:
f.write(translated)
print(f"✅ Translated to {target}")
except Exception as e:
print(f"❌ Failed to translate to {target}: {e}")
# Get translation history
history = ft.get_history()
print(f"You have {len(history)} translations in history")
```
## 🛠️ Supported Frameworks
Currently supported machine learning frameworks:
| Framework | Status | Description |
|-----------|--------|-------------|
| **PyTorch** | ✅ | Popular deep learning framework |
| **TensorFlow** | ✅ | Google's machine learning platform |
| **JAX** | ✅ | NumPy-compatible library for ML research |
| **Scikit-learn** | ✅ | Machine learning library for Python |
## 🔐 Authentication & Security
- **Secure Authentication**: User credentials are encrypted and stored locally
- **Token-Based**: Uses JWT tokens for API communication
- **Session Management**: Automatic token refresh and session handling
- **Privacy**: Your code and translations are associated with your account
## 📊 Translation History
The tool automatically tracks all your translations:
- **Persistent Storage**: All translations are saved to your account
- **Metadata Tracking**: Includes timestamps, models used, and performance metrics
- **Download Options**: Export your history as JSON for analysis
- **Search & Filter**: View recent translations in the CLI
## ⚙️ Configuration
The tool stores configuration in platform-appropriate directories:
- **Linux/macOS**: `~/.config/framework_translator/`
- **Windows**: `%APPDATA%\strasta\framework_translator\`
Configuration includes:
- Encrypted user credentials
- User preferences
- Cache data
## 🚨 Error Handling
Common issues and solutions:
### Authentication Errors
```bash
# If you get authentication errors:
ft logout
ft login
```
### Network Issues
- Check your internet connection
- Verify the backend service is accessible
- Try again after a few moments
### Invalid Framework
- Use `ft translate` to see supported frameworks interactively
- Check spelling of framework names
## 📝 Examples
### Example 1: PyTorch to TensorFlow CNN
**Input (PyTorch):**
```python
import torch
import torch.nn as nn
import torch.nn.functional as F
class CNN(nn.Module):
def __init__(self):
super(CNN, self).__init__()
self.conv1 = nn.Conv2d(1, 32, 3, 1)
self.conv2 = nn.Conv2d(32, 64, 3, 1)
self.fc1 = nn.Linear(9216, 128)
self.fc2 = nn.Linear(128, 10)
def forward(self, x):
x = F.relu(self.conv1(x))
x = F.relu(self.conv2(x))
x = F.max_pool2d(x, 2)
x = torch.flatten(x, 1)
x = F.relu(self.fc1(x))
x = self.fc2(x)
return F.log_softmax(x, dim=1)
```
**Output (TensorFlow):**
```python
import tensorflow as tf
class CNN(tf.keras.Model):
def __init__(self):
super(CNN, self).__init__()
self.conv1 = tf.keras.layers.Conv2D(32, 3, activation='relu')
self.conv2 = tf.keras.layers.Conv2D(64, 3, activation='relu')
self.pool = tf.keras.layers.MaxPooling2D(2)
self.flatten = tf.keras.layers.Flatten()
self.fc1 = tf.keras.layers.Dense(128, activation='relu')
self.fc2 = tf.keras.layers.Dense(10)
def call(self, x):
x = self.conv1(x)
x = self.conv2(x)
x = self.pool(x)
x = self.flatten(x)
x = self.fc1(x)
x = self.fc2(x)
return tf.nn.log_softmax(x, axis=1)
```
### Example 2: Scikit-learn to PyTorch
**Input (Scikit-learn):**
```python
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
import numpy as np
# Create and train model
scaler = StandardScaler()
model = LogisticRegression()
X_scaled = scaler.fit_transform(X_train)
model.fit(X_scaled, y_train)
# Make predictions
X_test_scaled = scaler.transform(X_test)
predictions = model.predict(X_test_scaled)
```
**Output (PyTorch):**
```python
import torch
import torch.nn as nn
from sklearn.preprocessing import StandardScaler
class LogisticRegression(nn.Module):
def __init__(self, input_dim):
super(LogisticRegression, self).__init__()
self.linear = nn.Linear(input_dim, 1)
def forward(self, x):
return torch.sigmoid(self.linear(x))
# Create and train model
scaler = StandardScaler()
model = LogisticRegression(X_train.shape[1])
criterion = nn.BCELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
X_scaled = scaler.fit_transform(X_train)
X_tensor = torch.FloatTensor(X_scaled)
y_tensor = torch.FloatTensor(y_train).reshape(-1, 1)
# Training loop
for epoch in range(100):
optimizer.zero_grad()
outputs = model(X_tensor)
loss = criterion(outputs, y_tensor)
loss.backward()
optimizer.step()
# Make predictions
X_test_scaled = scaler.transform(X_test)
X_test_tensor = torch.FloatTensor(X_test_scaled)
with torch.no_grad():
predictions = model(X_test_tensor).numpy()
```
## 🤝 Contributing
We welcome contributions! Please see our contributing guidelines for more information.
## 📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
## 🆘 Support
- **Issues**: Report bugs or request features on our GitHub issues page
- **Documentation**: This README and built-in help (`ft help`)
- **Community**: Join our community discussions
## 🔄 Changelog
### Version 1.1.0
- Added comprehensive SDK support
- Improved authentication and session management
- Enhanced error handling and user feedback
- Added translation history tracking
- Support for file-based input
### Version 1.0.0
- Initial release
- Basic CLI functionality
- Support for PyTorch, TensorFlow, JAX, and Scikit-learn
- User authentication and backend integration
---
**Happy Translating! 🚀**
Transform your machine learning code across frameworks with the power of AI.
Raw data
{
"_id": null,
"home_page": null,
"name": "framework-translator",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "AI, CLI, LLM, code-generation, code-translation, frameworks, jax, machine-learning, pytorch, scikit-learn, tensorflow",
"author": null,
"author_email": "Eitan Tuchin <eitantuchin@gmail.com>, Vennela Reddy Singireddy <vennela5@iastate.edu>, Prashanth Kambalapally <kambala@iastate.edu>, Liban Ahmed <lahmed@iastate.edu>, Tirmidi Mohamed <tmohamed@iastate.edu>",
"download_url": "https://files.pythonhosted.org/packages/2a/3e/730e6e70237876db16ef0482171ae1294752fb29d28002912f1bcd7ded1c/framework_translator-1.1.1.tar.gz",
"platform": null,
"description": "# Framework Translator\n\nA powerful CLI tool and Python SDK for seamlessly translating code between machine learning frameworks using advanced AI models. Convert your code between PyTorch, TensorFlow, JAX, and Scikit-learn with ease.\n\n## \ud83d\ude80 Features\n\n- **Multi-Framework Support**: Translate between PyTorch, TensorFlow, JAX, and Scikit-learn\n- **CLI Interface**: Easy-to-use command-line tool with interactive prompts\n- **Python SDK**: Programmatic access for integration into your workflows\n- **Authentication**: Secure user authentication with credential management\n- **Translation History**: Track and download your translation history\n- **Smart Inference**: Automatic source framework detection when not specified\n- **File & Interactive Input**: Support for both file-based and interactive code input\n\n## \ud83d\udce6 Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install framework-translator\n```\n\n### From Source\n\n```bash\ngit clone <repository-url>\ncd pypi-tool\npip install .\n```\n\n## \ud83d\udd27 Quick Start\n\n### 1. Register an Account\n\nBefore using the tool, you need to register at:\n[https://code-translation-frontend-283805296028.us-central1.run.app/register](https://code-translation-frontend-283805296028.us-central1.run.app/register)\n\n### 2. Login\n\n```bash\nft login\n```\n\n### 3. Translate Code\n\n```bash\nft translate\n```\n\nFollow the interactive prompts to translate your code!\n\n## \ud83d\udda5\ufe0f CLI Usage\n\n### Commands Overview\n\n```bash\nft --help # Show all available commands\nft login # Login to the service\nft logout # Logout from the service\nft translate # Interactive code translation\nft history # View translation history\nft history -d # Download history as JSON\nft version # Show version information\n```\n\n### Interactive Translation Workflow\n\nWhen you run `ft translate`, you'll be guided through:\n\n1. **Language Selection**: Choose your programming language (currently supports Python)\n2. **Source Framework**: Specify source framework or let the AI infer it\n3. **Framework Group**: Select framework category (e.g., \"ml\" for machine learning)\n4. **Target Framework**: Choose your target framework\n5. **Code Input**: Provide code via interactive input or file path\n\n### Example Translation Session\n\n```bash\n$ ft translate\nTranslate: Framework Translator\nChoose a language -> Languages supported [python]: python\nGive us your framework: (Enter to let the model infer): pytorch\nChoose a framework group -> Framework groups supported for language python [ml]: ml\nChoose a target framework -> Target frameworks supported for group ml [jax, pytorch, scikit-learn, tensorflow]: tensorflow\nProvide source code via one of the options:\n1) Paste (end with 'END' on its own line)\n2) File path\nSelect [1/2]: 1\nEnter source code (end with a single line containing only 'END'):\nimport torch\nimport torch.nn as nn\n\nclass SimpleNet(nn.Module):\n def __init__(self):\n super().__init__()\n self.fc = nn.Linear(10, 1)\n \n def forward(self, x):\n return self.fc(x)\nEND\n\nTranslating code to tensorflow...\n--------------------------------------\n----------Translation Result----------\n--------------------------------------\nimport tensorflow as tf\n\nclass SimpleNet(tf.keras.Model):\n def __init__(self):\n super().__init__()\n self.fc = tf.keras.layers.Dense(1)\n \n def call(self, x):\n return self.fc(x)\n--------------------------------------\nTranslation completed successfully.\n```\n\n### File-Based Translation\n\nYou can also translate code from files:\n\n```bash\nft translate\n# ... follow prompts ...\nSelect [1/2]: 2\nEnter file path: /path/to/your/code.py\n```\n\n### View Translation History\n\n```bash\n# View history in terminal\nft history\n\n# Download history as JSON file\nft history -d\n```\n\n## \ud83d\udc0d Python SDK Usage\n\nThe Framework Translator also provides a Python SDK for programmatic access:\n\n### Basic SDK Usage\n\n```python\nimport framework_translator.sdk as ft\n\n# Check login status\nif not ft.is_logged_in():\n # Login (you can also use environment variables)\n success = ft.login(\"your_username\", \"your_password\")\n if not success:\n print(\"Login failed!\")\n exit(1)\n\n# Translate code\npytorch_code = \"\"\"\nimport torch\nimport torch.nn as nn\n\nclass Net(nn.Module):\n def __init__(self):\n super().__init__()\n self.fc = nn.Linear(784, 10)\n \n def forward(self, x):\n return self.fc(x)\n\"\"\"\n\n# Translate to TensorFlow\ntensorflow_code = ft.translate(\n code=pytorch_code,\n target_framework=\"tensorflow\",\n source_framework=\"pytorch\" # Optional - can be inferred\n)\n\nprint(\"Translated code:\")\nprint(tensorflow_code)\n```\n\n### SDK Reference\n\n#### Authentication\n\n```python\n# Check if logged in\nft.is_logged_in() -> bool\n\n# Login\nft.login(username: str, password: str) -> bool\n\n# Logout\nft.logout() -> None\n```\n\n#### Translation\n\n```python\n# Translate code\nft.translate(\n code: str,\n target_framework: str,\n source_framework: Optional[str] = None\n) -> str\n```\n\n#### Framework Information\n\n```python\n# Get supported frameworks\nft.get_supported_frameworks(group: Optional[str] = None) -> list[str]\nft.get_supported_groups() -> list[str]\nft.get_supported_languages() -> list[str]\n\n# Get framework details\nft.get_framework_info(framework_name: str) -> dict\n```\n\n#### History\n\n```python\n# Get translation history\nft.get_history(page: int = 1, per_page: int = 50) -> list[dict]\n```\n\n### Advanced SDK Example\n\n```python\nimport framework_translator.sdk as ft\n\ndef translate_project_files():\n \"\"\"Example: Translate multiple files in a project\"\"\"\n \n if not ft.is_logged_in():\n print(\"Please login first\")\n return\n \n # Get list of supported frameworks\n frameworks = ft.get_supported_frameworks(\"ml\")\n print(f\"Supported ML frameworks: {frameworks}\")\n \n # Read source file\n with open(\"model.py\", \"r\") as f:\n source_code = f.read()\n \n # Translate to multiple frameworks\n for target in [\"tensorflow\", \"jax\"]:\n try:\n translated = ft.translate(\n code=source_code,\n target_framework=target,\n source_framework=\"pytorch\"\n )\n \n # Save translated code\n with open(f\"model_{target}.py\", \"w\") as f:\n f.write(translated)\n \n print(f\"\u2705 Translated to {target}\")\n \n except Exception as e:\n print(f\"\u274c Failed to translate to {target}: {e}\")\n\n# Get translation history\nhistory = ft.get_history()\nprint(f\"You have {len(history)} translations in history\")\n```\n\n## \ud83d\udee0\ufe0f Supported Frameworks\n\nCurrently supported machine learning frameworks:\n\n| Framework | Status | Description |\n|-----------|--------|-------------|\n| **PyTorch** | \u2705 | Popular deep learning framework |\n| **TensorFlow** | \u2705 | Google's machine learning platform |\n| **JAX** | \u2705 | NumPy-compatible library for ML research |\n| **Scikit-learn** | \u2705 | Machine learning library for Python |\n\n## \ud83d\udd10 Authentication & Security\n\n- **Secure Authentication**: User credentials are encrypted and stored locally\n- **Token-Based**: Uses JWT tokens for API communication\n- **Session Management**: Automatic token refresh and session handling\n- **Privacy**: Your code and translations are associated with your account\n\n## \ud83d\udcca Translation History\n\nThe tool automatically tracks all your translations:\n\n- **Persistent Storage**: All translations are saved to your account\n- **Metadata Tracking**: Includes timestamps, models used, and performance metrics\n- **Download Options**: Export your history as JSON for analysis\n- **Search & Filter**: View recent translations in the CLI\n\n## \u2699\ufe0f Configuration\n\nThe tool stores configuration in platform-appropriate directories:\n\n- **Linux/macOS**: `~/.config/framework_translator/`\n- **Windows**: `%APPDATA%\\strasta\\framework_translator\\`\n\nConfiguration includes:\n- Encrypted user credentials\n- User preferences\n- Cache data\n\n## \ud83d\udea8 Error Handling\n\nCommon issues and solutions:\n\n### Authentication Errors\n```bash\n# If you get authentication errors:\nft logout\nft login\n```\n\n### Network Issues\n- Check your internet connection\n- Verify the backend service is accessible\n- Try again after a few moments\n\n### Invalid Framework\n- Use `ft translate` to see supported frameworks interactively\n- Check spelling of framework names\n\n## \ud83d\udcdd Examples\n\n### Example 1: PyTorch to TensorFlow CNN\n\n**Input (PyTorch):**\n```python\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\n\nclass CNN(nn.Module):\n def __init__(self):\n super(CNN, self).__init__()\n self.conv1 = nn.Conv2d(1, 32, 3, 1)\n self.conv2 = nn.Conv2d(32, 64, 3, 1)\n self.fc1 = nn.Linear(9216, 128)\n self.fc2 = nn.Linear(128, 10)\n\n def forward(self, x):\n x = F.relu(self.conv1(x))\n x = F.relu(self.conv2(x))\n x = F.max_pool2d(x, 2)\n x = torch.flatten(x, 1)\n x = F.relu(self.fc1(x))\n x = self.fc2(x)\n return F.log_softmax(x, dim=1)\n```\n\n**Output (TensorFlow):**\n```python\nimport tensorflow as tf\n\nclass CNN(tf.keras.Model):\n def __init__(self):\n super(CNN, self).__init__()\n self.conv1 = tf.keras.layers.Conv2D(32, 3, activation='relu')\n self.conv2 = tf.keras.layers.Conv2D(64, 3, activation='relu')\n self.pool = tf.keras.layers.MaxPooling2D(2)\n self.flatten = tf.keras.layers.Flatten()\n self.fc1 = tf.keras.layers.Dense(128, activation='relu')\n self.fc2 = tf.keras.layers.Dense(10)\n\n def call(self, x):\n x = self.conv1(x)\n x = self.conv2(x)\n x = self.pool(x)\n x = self.flatten(x)\n x = self.fc1(x)\n x = self.fc2(x)\n return tf.nn.log_softmax(x, axis=1)\n```\n\n### Example 2: Scikit-learn to PyTorch\n\n**Input (Scikit-learn):**\n```python\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.preprocessing import StandardScaler\nimport numpy as np\n\n# Create and train model\nscaler = StandardScaler()\nmodel = LogisticRegression()\n\nX_scaled = scaler.fit_transform(X_train)\nmodel.fit(X_scaled, y_train)\n\n# Make predictions\nX_test_scaled = scaler.transform(X_test)\npredictions = model.predict(X_test_scaled)\n```\n\n**Output (PyTorch):**\n```python\nimport torch\nimport torch.nn as nn\nfrom sklearn.preprocessing import StandardScaler\n\nclass LogisticRegression(nn.Module):\n def __init__(self, input_dim):\n super(LogisticRegression, self).__init__()\n self.linear = nn.Linear(input_dim, 1)\n \n def forward(self, x):\n return torch.sigmoid(self.linear(x))\n\n# Create and train model\nscaler = StandardScaler()\nmodel = LogisticRegression(X_train.shape[1])\ncriterion = nn.BCELoss()\noptimizer = torch.optim.SGD(model.parameters(), lr=0.01)\n\nX_scaled = scaler.fit_transform(X_train)\nX_tensor = torch.FloatTensor(X_scaled)\ny_tensor = torch.FloatTensor(y_train).reshape(-1, 1)\n\n# Training loop\nfor epoch in range(100):\n optimizer.zero_grad()\n outputs = model(X_tensor)\n loss = criterion(outputs, y_tensor)\n loss.backward()\n optimizer.step()\n\n# Make predictions\nX_test_scaled = scaler.transform(X_test)\nX_test_tensor = torch.FloatTensor(X_test_scaled)\nwith torch.no_grad():\n predictions = model(X_test_tensor).numpy()\n```\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our contributing guidelines for more information.\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## \ud83c\udd98 Support\n\n- **Issues**: Report bugs or request features on our GitHub issues page\n- **Documentation**: This README and built-in help (`ft help`)\n- **Community**: Join our community discussions\n\n## \ud83d\udd04 Changelog\n\n### Version 1.1.0\n- Added comprehensive SDK support\n- Improved authentication and session management\n- Enhanced error handling and user feedback\n- Added translation history tracking\n- Support for file-based input\n\n### Version 1.0.0\n- Initial release\n- Basic CLI functionality\n- Support for PyTorch, TensorFlow, JAX, and Scikit-learn\n- User authentication and backend integration\n\n---\n\n**Happy Translating! \ud83d\ude80**\n\nTransform your machine learning code across frameworks with the power of AI.",
"bugtrack_url": null,
"license": "MIT",
"summary": "A powerful CLI tool and Python SDK for seamlessly translating code between machine learning frameworks (PyTorch, TensorFlow, JAX, Scikit-learn) using advanced AI models. Features authentication, translation history, and both command-line and programmatic interfaces for developers working across different ML ecosystems.",
"version": "1.1.1",
"project_urls": null,
"split_keywords": [
"ai",
" cli",
" llm",
" code-generation",
" code-translation",
" frameworks",
" jax",
" machine-learning",
" pytorch",
" scikit-learn",
" tensorflow"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1d8bfc4685f899613bd10600e9a58bd9f266ac975c3afdb2271df02e69d55156",
"md5": "66c79ec8baea09fff8ee199319c2531f",
"sha256": "e6dcefab016a6f470f0ea151188ece4d6704ae688a44529a0c4e5ed3fdb6472e"
},
"downloads": -1,
"filename": "framework_translator-1.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "66c79ec8baea09fff8ee199319c2531f",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 17194,
"upload_time": "2025-10-23T19:24:21",
"upload_time_iso_8601": "2025-10-23T19:24:21.045124Z",
"url": "https://files.pythonhosted.org/packages/1d/8b/fc4685f899613bd10600e9a58bd9f266ac975c3afdb2271df02e69d55156/framework_translator-1.1.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2a3e730e6e70237876db16ef0482171ae1294752fb29d28002912f1bcd7ded1c",
"md5": "99cabc8edf2a5f59cee1c43bfbdaaec9",
"sha256": "4e84268608a824116b6c803a21a5840522745e9c5d7c0e425f098335110b6499"
},
"downloads": -1,
"filename": "framework_translator-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "99cabc8edf2a5f59cee1c43bfbdaaec9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14061,
"upload_time": "2025-10-23T19:24:23",
"upload_time_iso_8601": "2025-10-23T19:24:23.128892Z",
"url": "https://files.pythonhosted.org/packages/2a/3e/730e6e70237876db16ef0482171ae1294752fb29d28002912f1bcd7ded1c/framework_translator-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-23 19:24:23",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "framework-translator"
}