π¦ Package Migration Notice: This package was previously published as
@tensorify/types
. Please update your imports to use@tensorify/sdk
instead.
Complete SDK for developing Tensorify plugins - Everything you need in one package.
npm install @tensorify/sdk
npx tensorify-cli create my-plugin
cd my-plugin
npm install
const { BaseNode, NodeType, DevUtils, createPlugin } = require('@tensorify/sdk');
class MyNode extends BaseNode {
constructor() {
super();
this.name = 'My Custom Node';
this.nodeType = NodeType.CUSTOM;
this.description = 'What this node does';
this.inputs = [
DevUtils.createInput('input', 'tensor', 'Input description', true)
];
this.outputs = [
DevUtils.createOutput('output', 'tensor', 'Output description')
];
this.schema = {
type: 'object',
properties: {
parameter: DevUtils.createProperty('string', 'default', 'Parameter description')
},
required: []
};
this.codeGeneration = {
generateCode: (settings) => ({
imports: ['import torch'],
definitions: [],
instantiations: ['result = process(input)'],
usage: {
forward: 'output = result',
named_parameters: '("output", result)'
}
}),
getDependencies: () => [],
getOutputs: () => ['output'],
validateConnections: () => true
};
this.security = DevUtils.createBasicSecurity();
this.quality = DevUtils.createBasicQuality('1.0.0', ['Usage example']);
}
}
module.exports = createPlugin({
name: 'My Plugin',
version: '1.0.0',
description: 'A custom Tensorify plugin',
author: 'Your Name',
nodes: { MyNode }
});
Base class for all plugin nodes. Must implement:
name
,nodeType
,description
inputs
,outputs
schema
(configuration properties)codeGeneration
(Python code generation)security
,quality
configurations
Helper functions for common configurations:
createInput(name, type, description, required)
createOutput(name, type, description)
createProperty(type, defaultValue, description, required, options)
createBasicSecurity(additionalImports)
createBasicQuality(version, examples)
Validates and creates a plugin export with nodes.
NodeType.CUSTOM // Custom functionality
NodeType.DATASET // Data loading
NodeType.DATALOADER // Batch processing
NodeType.PREPROCESSING // Data preprocessing
NodeType.LAYER // Neural network layers
NodeType.MODEL // Complete models
NodeType.OPTIMIZER // Training optimizers
NodeType.LOSS // Loss functions
NodeType.TRAINER // Training logic
NodeType.EVALUATOR // Model evaluation
# Create new plugin
tensorify-cli create [name] [options]
# Add node to existing plugin
tensorify-cli node [name] [options]
# Validate plugin
tensorify-cli validate [path]
my-plugin/
βββ package.json # Plugin metadata
βββ src/
β βββ index.js # Plugin export with nodes
βββ test.js # Basic tests
See the /examples
and /templates
directories for:
- Basic plugin template
- PyTorch dataset/dataloader nodes
- Convolutional layer examples
# Build SDK
npm run build
# Development mode
npm run dev
# Test CLI
npm run cli -- create test-plugin
- Single Package: Everything in
@tensorify/sdk
- Simple API: One import, clear structure
- CLI Tools: Scaffolding and validation
- Type Safety: Full TypeScript support
- Examples: Ready-to-use templates
# Uninstall old package
npm uninstall @tensorify/types
# Install new package
npm install @tensorify/sdk
# Update your imports
- const { NodeType } = require('@tensorify/types');
+ const { NodeType, BaseNode, DevUtils, createPlugin } = require('@tensorify/sdk');
The new package includes everything from the old @tensorify/types
plus a complete SDK for plugin development.
The SDK has been streamlined! Replace:
// Old
const { NodeType } = require('@tensorify/types');
const { BaseNode, DevUtils } = require('@tensorify/sdk');
// New
const { BaseNode, NodeType, DevUtils, createPlugin } = require('@tensorify/sdk');
MIT