Convert Figma logo to code with AI

itsjunetime logotdf

A tui-based PDF viewer

1,098
28
1,098
23

Top Related Projects

🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

88,135

Tensors and Dynamic neural networks in Python with strong GPU acceleration

188,828

An Open Source Machine Learning Framework for Everyone

scikit-learn: machine learning in Python

62,735

Deep Learning for humans

37,573

DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.

Quick Overview

TDF (Tabular Data Format) is a lightweight, human-readable data format designed for storing and exchanging tabular data. It aims to be a simpler alternative to CSV and TSV formats, offering improved readability and ease of use for both humans and machines.

Pros

  • Simple and human-readable format
  • Easy to parse and generate programmatically
  • Supports comments and metadata
  • Compatible with existing CSV/TSV tools and workflows

Cons

  • Less widely adopted compared to CSV and TSV
  • May require custom parsing for some programming languages
  • Limited support for complex data structures
  • Potential performance overhead for very large datasets

Code Examples

  1. Reading a TDF file:
import tdf

with open('data.tdf', 'r') as file:
    data = tdf.read(file)

for row in data:
    print(row)
  1. Writing a TDF file:
import tdf

data = [
    ['Name', 'Age', 'City'],
    ['Alice', '28', 'New York'],
    ['Bob', '35', 'London']
]

with open('output.tdf', 'w') as file:
    tdf.write(data, file)
  1. Parsing TDF with metadata:
import tdf

tdf_content = """
# This is a comment
@author: John Doe
@date: 2023-05-01

Name    Age    City
Alice    28    New York
Bob    35    London
"""

data, metadata = tdf.parse(tdf_content)
print(f"Metadata: {metadata}")
print(f"Data: {data}")

Getting Started

To use TDF in your Python project, first install the library:

pip install tdf

Then, you can import and use it in your code:

import tdf

# Read a TDF file
with open('data.tdf', 'r') as file:
    data = tdf.read(file)

# Write a TDF file
with open('output.tdf', 'w') as file:
    tdf.write(data, file)

# Parse TDF content
tdf_content = "Name    Age    City\nAlice    28    New York\nBob    35    London"
parsed_data = tdf.parse(tdf_content)

For more advanced usage and options, refer to the project's documentation on GitHub.

Competitor Comparisons

🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

Pros of transformers

  • Extensive library with support for numerous pre-trained models and architectures
  • Large community and frequent updates, ensuring compatibility with latest research
  • Comprehensive documentation and examples for various NLP tasks

Cons of transformers

  • Steeper learning curve due to its extensive features and options
  • Larger package size and potential overhead for simpler projects
  • May require more computational resources for some models

Code comparison

transformers:

from transformers import pipeline

classifier = pipeline("sentiment-analysis")
result = classifier("I love this movie!")[0]
print(f"Label: {result['label']}, Score: {result['score']:.4f}")

tdf:

from tdf import TDF

tdf = TDF()
result = tdf.analyze_sentiment("I love this movie!")
print(f"Sentiment: {result['sentiment']}, Score: {result['score']:.4f}")

Summary

transformers is a comprehensive library for state-of-the-art NLP tasks, offering a wide range of models and extensive documentation. It's ideal for complex projects and research. tdf appears to be a simpler, more focused tool for specific text analysis tasks, potentially easier to use for beginners or smaller projects. The choice between them depends on the project's complexity and specific requirements.

88,135

Tensors and Dynamic neural networks in Python with strong GPU acceleration

Pros of PyTorch

  • Extensive documentation and community support
  • Wide range of pre-built models and tools for deep learning
  • Robust ecosystem with numerous libraries and extensions

Cons of PyTorch

  • Larger codebase and more complex architecture
  • Steeper learning curve for beginners
  • Higher resource requirements for installation and usage

Code Comparison

PyTorch example:

import torch

x = torch.tensor([1, 2, 3])
y = torch.tensor([4, 5, 6])
z = torch.add(x, y)
print(z)

TDF example:

import tdf

x = tdf.tensor([1, 2, 3])
y = tdf.tensor([4, 5, 6])
z = x + y
print(z)

Summary

PyTorch is a comprehensive deep learning framework with extensive features and community support, while TDF appears to be a smaller, more focused project. PyTorch offers a wider range of tools and pre-built models but comes with a steeper learning curve and higher resource requirements. TDF likely provides a simpler, more lightweight alternative for specific use cases, though with potentially fewer features and less community support. The code comparison shows similar syntax for basic operations, but PyTorch's ecosystem likely offers more advanced functionality.

188,828

An Open Source Machine Learning Framework for Everyone

Pros of TensorFlow

  • Extensive ecosystem with robust documentation and community support
  • Highly scalable for large-scale machine learning projects
  • Supports both research and production environments

Cons of TensorFlow

  • Steeper learning curve for beginners
  • Can be resource-intensive for smaller projects
  • More complex setup and configuration process

Code Comparison

TensorFlow:

import tensorflow as tf

model = tf.keras.Sequential([
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')
])

TDF:

from tdf import Model, Dense

model = Model([
    Dense(64, activation='relu'),
    Dense(10, activation='softmax')
])

Summary

TensorFlow is a comprehensive machine learning framework with a vast ecosystem, while TDF appears to be a smaller, more focused project. TensorFlow offers more features and scalability but may be overkill for simpler tasks. TDF likely provides a more straightforward approach for specific use cases, potentially with a gentler learning curve. The code comparison shows that both frameworks use similar concepts for model creation, but TensorFlow's implementation is more verbose due to its broader scope and flexibility.

scikit-learn: machine learning in Python

Pros of scikit-learn

  • Comprehensive machine learning library with a wide range of algorithms and tools
  • Well-documented and extensively used in the data science community
  • Actively maintained with regular updates and improvements

Cons of scikit-learn

  • Large library size, which may be overkill for simple projects
  • Steeper learning curve for beginners due to its extensive functionality
  • Can be slower for certain operations compared to specialized libraries

Code Comparison

scikit-learn:

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=1000, n_features=4)
clf = RandomForestClassifier()
clf.fit(X, y)

tdf:

# No direct code comparison available as tdf repository
# does not contain relevant machine learning code

Note: The tdf repository appears to be a personal project or tool, and does not contain comparable machine learning functionality to scikit-learn. Therefore, a direct code comparison is not possible in this context.

62,735

Deep Learning for humans

Pros of Keras

  • Extensive documentation and community support
  • Wide range of pre-built layers and models
  • Seamless integration with TensorFlow backend

Cons of Keras

  • Larger codebase and potentially slower execution
  • More complex setup and configuration required
  • Less flexibility for low-level customization

Code Comparison

Keras example:

from keras.models import Sequential
from keras.layers import Dense

model = Sequential([
    Dense(64, activation='relu', input_shape=(10,)),
    Dense(1, activation='sigmoid')
])

TDF example:

import tdf

model = tdf.Model()
model.add(tdf.Dense(64, activation='relu', input_shape=(10,)))
model.add(tdf.Dense(1, activation='sigmoid'))

Summary

Keras offers a more comprehensive and well-established framework for deep learning, with extensive documentation and pre-built components. However, it may be more complex and less flexible for certain use cases. TDF appears to be a simpler, lightweight alternative that may offer more customization options but likely has less community support and fewer pre-built features. The code syntax is similar between the two, making it relatively easy for users familiar with one to transition to the other.

37,573

DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.

Pros of DeepSpeed

  • More comprehensive and feature-rich library for deep learning optimization
  • Actively maintained with frequent updates and contributions
  • Extensive documentation and examples for various use cases

Cons of DeepSpeed

  • Steeper learning curve due to its complexity and wide range of features
  • Requires more setup and configuration compared to simpler alternatives
  • May be overkill for smaller projects or less demanding training tasks

Code Comparison

DeepSpeed:

import deepspeed
model_engine, optimizer, _, _ = deepspeed.initialize(
    args=args,
    model=model,
    model_parameters=params
)

TDF:

from tdf import TDF
tdf = TDF(model)
tdf.train(train_loader, optimizer, epochs=10)

DeepSpeed offers more advanced features and optimizations, while TDF provides a simpler interface for basic training tasks. DeepSpeed is better suited for large-scale projects and distributed training, whereas TDF may be more appropriate for smaller models or quick prototyping.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

tdf

A terminal-based PDF viewer.

Designed to be performant, very responsive, and work well with even very large PDFs. Built with ratatui.

What it looks like

Features:

  • Asynchronous Rendering
  • Searching
  • Hot reloading
  • Responsive details about rendering/search progress
  • Reactive layout

Installation

  1. Get the rust toolchain from rustup.rs
  2. Run rustup install nightly && cargo +nightly install --git https://github.com/itsjunetime/tdf.git

To Build

First, you need to install the system dependencies. This will generally only include libfontconfig. If you're on linux, these will probably show up in your package manager as something like libfontconfig1-devel or libfontconfig-dev.

If it turns out that you're missing one of these, it will fail to compile and tell you what library you're missing. Find the development package for that library in your package manager, install it, and try to build again. Now, the important steps:

  1. Get the rust toolchain from rustup.rs
  2. Clone the repo and cd into it
  3. Run cargo build --release

The binary should then be found at ./target/release/tdf.

Why in the world would you use this?

I dunno. Just for fun, mostly.

Can I contribute?

Yeah, sure. Please do.

Please note, though, that all contributions will be treated as licensed under MPL-2.0.