Skip to content

tensorify/deprecated-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

@tensorify/sdk

πŸ“¦ 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.

πŸš€ Quick Start

Install

npm install @tensorify/sdk

Create a Plugin

npx tensorify-cli create my-plugin
cd my-plugin
npm install

Basic Node Example

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 }
});

πŸ“š API Reference

Core Classes

BaseNode

Base class for all plugin nodes. Must implement:

  • name, nodeType, description
  • inputs, outputs
  • schema (configuration properties)
  • codeGeneration (Python code generation)
  • security, quality configurations

DevUtils

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)

createPlugin(config)

Validates and creates a plugin export with nodes.

Node Types

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

πŸ› οΈ CLI Commands

# Create new plugin
tensorify-cli create [name] [options]

# Add node to existing plugin
tensorify-cli node [name] [options]

# Validate plugin
tensorify-cli validate [path]

πŸ“ Project Structure

my-plugin/
β”œβ”€β”€ package.json          # Plugin metadata
β”œβ”€β”€ src/
β”‚   └── index.js         # Plugin export with nodes
└── test.js              # Basic tests

🎯 Examples

See the /examples and /templates directories for:

  • Basic plugin template
  • PyTorch dataset/dataloader nodes
  • Convolutional layer examples

πŸ”§ Development

# Build SDK
npm run build

# Development mode
npm run dev

# Test CLI
npm run cli -- create test-plugin

πŸ“ Key Features

  • 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

πŸ“¦ Migration Guide

From @tensorify/types to @tensorify/sdk

# 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.

πŸš€ Migration from v0.x

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');

πŸ“„ License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published