# NovaLang ๐ - Universal Programming Language with Complete Database Support
[](https://badge.fury.io/py/novalang)
[](https://pypi.org/project/novalang/)
[](https://opensource.org/licenses/MIT)
[](https://pypi.org/project/novalang/)
**NovaLang** is the world's most comprehensive programming language with **universal database support** and **enhanced parser** for Spring Boot-style development. Supporting **70+ database types** from SQL to NoSQL, Graph to Vector databases, and everything in between.
## ๐ **NEW in v2.2.0: Enhanced Parser & AUTO_MYSQL_BACKEND**
- โ
**Fixed Parser Issues**: All syntax now compiles successfully
- โ
**Spring Boot-Style Syntax**: Create backends with familiar patterns
- โ
**AUTO_MYSQL_BACKEND**: Complete guide for automatic MySQL setup
- โ
**Hybrid Parser**: Supports both basic and advanced syntax
- โ
**Zero Build Errors**: Robust error handling and recovery
## ๐ Key Features
### ๐๏ธ **Universal Database Support (70+ Databases)**
- **SQL Databases**: MySQL, PostgreSQL, Oracle, SQL Server, SQLite, MariaDB, DB2, and 15+ more
- **NoSQL Databases**: MongoDB, Cassandra, DynamoDB, CouchDB, HBase, and 10+ more
- **Graph Databases**: Neo4j, ArangoDB, JanusGraph, TigerGraph, Amazon Neptune
- **Time Series**: InfluxDB, TimescaleDB, Prometheus, Graphite, QuestDB
- **Search Engines**: Elasticsearch, Solr, Lucene, Sphinx
- **Vector/AI Databases**: Pinecone, Weaviate, Milvus, Qdrant, Chroma, Faiss
- **Cache/In-Memory**: Redis, Memcached, Hazelcast, Caffeine, Ignite
- **Blockchain Databases**: BigchainDB, Bluzelle
- **Multi-Model**: CosmosDB, Fauna, SurrealDB, EdgeDB
### ๐๏ธ **Enterprise Features**
- **Multi-Target Compilation**: Java/JVM, TypeScript, and more
- **Advanced Type System**: Generics, Unions, Optional types, Result types
- **Microservices**: Service discovery, load balancing, circuit breakers
- **Cloud-Native**: Kubernetes deployment, Docker integration
- **AI/ML Integration**: TensorFlow, PyTorch, HuggingFace models
- **Blockchain Support**: Smart contracts, DeFi protocols, NFTs
- **Security**: OAuth2, JWT, WebAuthn, SAML2, encryption
### ๐ ๏ธ **Development Tools**
- **CLI Tool**: Complete project lifecycle management
- **Advanced Parser**: Full AST generation with error recovery
- **Code Generation**: Multi-target backend compilation
- **Project Templates**: Ready-to-use enterprise project structures
## ๐ Quick Start
### Installation
```bash
# Install NovaLang
pip install novalang
# Install with database drivers
pip install novalang[database]
# Install development tools
pip install novalang[dev]
# Install everything
pip install novalang[all]
```
### Your First NovaLang Program
```nova
// Universal Database Example
@MySQL
@PostgreSQL
@MongoDB
@Redis
@Service
class UserService {
@Autowired
@MySQL
private mysqlRepo: MySQLUserRepository
@Autowired
@MongoDB
private mongoRepo: MongoUserRepository
@Autowired
@Redis
private cache: RedisTemplate
@CRUD
@Transactional
public createUser(user: User): Result<User> {
// Save to MySQL
let savedUser = mysqlRepo.save(user)
// Index in MongoDB for search
mongoRepo.index(savedUser)
// Cache in Redis
cache.set(f"user:{savedUser.id}", savedUser, ttl: 3600)
return Success(savedUser)
}
@Query
@Cached
public searchUsers(query: String): List<User> {
return mongoRepo.search(query)
}
}
```
### CLI Usage
```bash
# Create new project
nova init my-project --template enterprise
# Build project
nova build
# Run project
nova run
# Test project
nova test
# Deploy to cloud
nova deploy --target kubernetes
```
## ๐ Database Examples
### SQL Databases
```nova
@MySQL
@Entity
@Table(name: "users")
class User {
@Id
@GeneratedValue
private id: Long
@Column(unique: true)
private email: String
@OneToMany
private orders: List<Order>
}
```
### NoSQL Databases
```nova
@MongoDB
@Document(collection: "products")
class Product {
@Id
private id: String
@Field("name")
@Indexed
private name: String
@Field("tags")
private tags: List<String>
}
```
### Graph Databases
```nova
@Neo4j
@Node("Person")
class Person {
@Id
private id: String
@Property("name")
private name: String
@Relationship(type: "KNOWS", direction: "OUTGOING")
private friends: List<Person>
}
```
### Time Series Databases
```nova
@InfluxDB
@Measurement("sensor_data")
class SensorReading {
@Time
private timestamp: Instant
@Tag("sensor_id")
private sensorId: String
@Field("temperature")
private temperature: Double
}
```
### Vector Databases (AI/ML)
```nova
@Pinecone
@VectorIndex(dimension: 768)
class DocumentEmbedding {
@Id
private id: String
@Vector
private embedding: Float[]
@Metadata
private content: String
}
```
## ๐๏ธ Architecture
NovaLang follows a modular architecture:
```
NovaLang
โโโ Lexer (70+ database annotations)
โโโ Parser (Advanced AST generation)
โโโ Compiler (Multi-target code generation)
โโโ Runtime (Universal database connectivity)
โโโ CLI (Project lifecycle management)
```
## ๐ Multi-Target Compilation
NovaLang compiles to multiple targets:
### Java/JVM
```bash
nova compile --target java
# Generates enterprise Java with Spring Boot integration
```
### TypeScript
```bash
nova compile --target typescript
# Generates TypeScript with Node.js/Express integration
```
## ๐ง Database Configuration
NovaLang automatically configures database connections:
```nova
// application.nova
@Configuration
class DatabaseConfig {
@MySQL
@DataSource
private mysql: DataSource = {
url: "jdbc:mysql://localhost:3306/mydb",
username: "${DB_USER}",
password: "${DB_PASSWORD}"
}
@MongoDB
@MongoTemplate
private mongo: MongoTemplate = {
uri: "mongodb://localhost:27017/mydb"
}
@Redis
@RedisTemplate
private redis: RedisTemplate = {
host: "localhost",
port: 6379
}
}
```
## ๐ Deployment
### Kubernetes
```bash
nova deploy --target kubernetes --namespace production
```
### Docker
```bash
nova build --containerize
docker run novalang/my-app
```
### Cloud Platforms
```bash
nova deploy --target aws-lambda
nova deploy --target azure-functions
nova deploy --target google-cloud-run
```
## ๐ Performance
NovaLang is optimized for performance:
- **JIT Compilation**: Runtime optimization
- **Connection Pooling**: Efficient database connections
- **Caching**: Multi-level caching strategies
- **Parallel Processing**: Concurrent database operations
- **Memory Optimization**: Zero-copy operations where possible
## ๐งช Testing
```nova
@Test
class UserServiceTest {
@Mock
private userRepository: UserRepository
@InjectMocks
private userService: UserService
@Test
public testCreateUser() {
// Given
let user = User(email: "test@example.com")
// When
let result = userService.createUser(user)
// Then
assert result.isSuccess()
assert result.get().id != null
}
}
```
## ๐ Documentation
- **[Language Reference](docs/language-reference.md)**: Complete language syntax
- **[Database Guide](docs/database-guide.md)**: Database integration examples
- **[API Documentation](docs/api-reference.md)**: Complete API reference
- **[Examples](examples/)**: Real-world examples and tutorials
## ๐ค Contributing
We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for details.
## ๐ License
NovaLang is released under the [MIT License](LICENSE).
## ๐ Why NovaLang?
| Feature | NovaLang | Java | Python | TypeScript |
|---------|----------|------|--------|------------|
| Database Types | 70+ | 20+ | 30+ | 25+ |
| Multi-Target | โ
| โ | โ | โ |
| Type Safety | โ
| โ
| โ | โ
|
| Enterprise Ready | โ
| โ
| โ | โ |
| AI/ML Integration | โ
| โ | โ
| โ |
| Blockchain Support | โ
| โ | โ | โ |
| Cloud Native | โ
| โ | โ | โ |
## ๐ Star History
[](https://star-history.com/#martinmaboya/novalang&Date)
---
**Made with โค๏ธ by [Martin Maboya](https://github.com/martinmaboya)**
**NovaLang - One Language, All Databases, Every Platform** ๐
Raw data
{
"_id": null,
"home_page": "https://github.com/martinmaboya/novalang",
"name": "novalang",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "programming-language, database, sql, nosql, mysql, postgresql, mongodb, redis, elasticsearch, neo4j, cassandra, influxdb, oracle, sqlserver, artificial-intelligence, machine-learning, blockchain, cloud-native, microservices, enterprise, universal-database, orm, jpa, hibernate, vector-database, graph-database, time-series, search-engine, compiler, interpreter",
"author": "martinmaboya",
"author_email": "Martin Maboya <martinmaboya@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/af/e0/7d0ab1a68b6b6ce981a2b790cf6e6380ad61a442b8b366811d1fb6533a7b/novalang-2.2.4.tar.gz",
"platform": null,
"description": "# NovaLang \ud83d\ude80 - Universal Programming Language with Complete Database Support\r\n\r\n[](https://badge.fury.io/py/novalang)\r\n[](https://pypi.org/project/novalang/)\r\n[](https://opensource.org/licenses/MIT)\r\n[](https://pypi.org/project/novalang/)\r\n\r\n**NovaLang** is the world's most comprehensive programming language with **universal database support** and **enhanced parser** for Spring Boot-style development. Supporting **70+ database types** from SQL to NoSQL, Graph to Vector databases, and everything in between.\r\n\r\n## \ud83c\udf89 **NEW in v2.2.0: Enhanced Parser & AUTO_MYSQL_BACKEND**\r\n\r\n- \u2705 **Fixed Parser Issues**: All syntax now compiles successfully\r\n- \u2705 **Spring Boot-Style Syntax**: Create backends with familiar patterns \r\n- \u2705 **AUTO_MYSQL_BACKEND**: Complete guide for automatic MySQL setup\r\n- \u2705 **Hybrid Parser**: Supports both basic and advanced syntax\r\n- \u2705 **Zero Build Errors**: Robust error handling and recovery\r\n\r\n## \ud83c\udf1f Key Features\r\n\r\n### \ud83d\uddc4\ufe0f **Universal Database Support (70+ Databases)**\r\n- **SQL Databases**: MySQL, PostgreSQL, Oracle, SQL Server, SQLite, MariaDB, DB2, and 15+ more\r\n- **NoSQL Databases**: MongoDB, Cassandra, DynamoDB, CouchDB, HBase, and 10+ more \r\n- **Graph Databases**: Neo4j, ArangoDB, JanusGraph, TigerGraph, Amazon Neptune\r\n- **Time Series**: InfluxDB, TimescaleDB, Prometheus, Graphite, QuestDB\r\n- **Search Engines**: Elasticsearch, Solr, Lucene, Sphinx\r\n- **Vector/AI Databases**: Pinecone, Weaviate, Milvus, Qdrant, Chroma, Faiss\r\n- **Cache/In-Memory**: Redis, Memcached, Hazelcast, Caffeine, Ignite\r\n- **Blockchain Databases**: BigchainDB, Bluzelle\r\n- **Multi-Model**: CosmosDB, Fauna, SurrealDB, EdgeDB\r\n\r\n### \ud83c\udfd7\ufe0f **Enterprise Features**\r\n- **Multi-Target Compilation**: Java/JVM, TypeScript, and more\r\n- **Advanced Type System**: Generics, Unions, Optional types, Result types\r\n- **Microservices**: Service discovery, load balancing, circuit breakers\r\n- **Cloud-Native**: Kubernetes deployment, Docker integration\r\n- **AI/ML Integration**: TensorFlow, PyTorch, HuggingFace models\r\n- **Blockchain Support**: Smart contracts, DeFi protocols, NFTs\r\n- **Security**: OAuth2, JWT, WebAuthn, SAML2, encryption\r\n\r\n### \ud83d\udee0\ufe0f **Development Tools**\r\n- **CLI Tool**: Complete project lifecycle management\r\n- **Advanced Parser**: Full AST generation with error recovery\r\n- **Code Generation**: Multi-target backend compilation\r\n- **Project Templates**: Ready-to-use enterprise project structures\r\n\r\n## \ud83d\ude80 Quick Start\r\n\r\n### Installation\r\n\r\n```bash\r\n# Install NovaLang\r\npip install novalang\r\n\r\n# Install with database drivers\r\npip install novalang[database]\r\n\r\n# Install development tools\r\npip install novalang[dev]\r\n\r\n# Install everything\r\npip install novalang[all]\r\n```\r\n\r\n### Your First NovaLang Program\r\n\r\n```nova\r\n// Universal Database Example\r\n@MySQL\r\n@PostgreSQL\r\n@MongoDB\r\n@Redis\r\n@Service\r\nclass UserService {\r\n @Autowired\r\n @MySQL\r\n private mysqlRepo: MySQLUserRepository\r\n \r\n @Autowired\r\n @MongoDB\r\n private mongoRepo: MongoUserRepository\r\n \r\n @Autowired\r\n @Redis\r\n private cache: RedisTemplate\r\n \r\n @CRUD\r\n @Transactional\r\n public createUser(user: User): Result<User> {\r\n // Save to MySQL\r\n let savedUser = mysqlRepo.save(user)\r\n \r\n // Index in MongoDB for search\r\n mongoRepo.index(savedUser)\r\n \r\n // Cache in Redis\r\n cache.set(f\"user:{savedUser.id}\", savedUser, ttl: 3600)\r\n \r\n return Success(savedUser)\r\n }\r\n \r\n @Query\r\n @Cached\r\n public searchUsers(query: String): List<User> {\r\n return mongoRepo.search(query)\r\n }\r\n}\r\n```\r\n\r\n### CLI Usage\r\n\r\n```bash\r\n# Create new project\r\nnova init my-project --template enterprise\r\n\r\n# Build project\r\nnova build\r\n\r\n# Run project\r\nnova run\r\n\r\n# Test project\r\nnova test\r\n\r\n# Deploy to cloud\r\nnova deploy --target kubernetes\r\n```\r\n\r\n## \ud83d\udcca Database Examples\r\n\r\n### SQL Databases\r\n```nova\r\n@MySQL\r\n@Entity\r\n@Table(name: \"users\")\r\nclass User {\r\n @Id\r\n @GeneratedValue\r\n private id: Long\r\n \r\n @Column(unique: true)\r\n private email: String\r\n \r\n @OneToMany\r\n private orders: List<Order>\r\n}\r\n```\r\n\r\n### NoSQL Databases\r\n```nova\r\n@MongoDB\r\n@Document(collection: \"products\")\r\nclass Product {\r\n @Id\r\n private id: String\r\n \r\n @Field(\"name\")\r\n @Indexed\r\n private name: String\r\n \r\n @Field(\"tags\")\r\n private tags: List<String>\r\n}\r\n```\r\n\r\n### Graph Databases\r\n```nova\r\n@Neo4j\r\n@Node(\"Person\")\r\nclass Person {\r\n @Id\r\n private id: String\r\n \r\n @Property(\"name\")\r\n private name: String\r\n \r\n @Relationship(type: \"KNOWS\", direction: \"OUTGOING\")\r\n private friends: List<Person>\r\n}\r\n```\r\n\r\n### Time Series Databases\r\n```nova\r\n@InfluxDB\r\n@Measurement(\"sensor_data\")\r\nclass SensorReading {\r\n @Time\r\n private timestamp: Instant\r\n \r\n @Tag(\"sensor_id\")\r\n private sensorId: String\r\n \r\n @Field(\"temperature\")\r\n private temperature: Double\r\n}\r\n```\r\n\r\n### Vector Databases (AI/ML)\r\n```nova\r\n@Pinecone\r\n@VectorIndex(dimension: 768)\r\nclass DocumentEmbedding {\r\n @Id\r\n private id: String\r\n \r\n @Vector\r\n private embedding: Float[]\r\n \r\n @Metadata\r\n private content: String\r\n}\r\n```\r\n\r\n## \ud83c\udfd7\ufe0f Architecture\r\n\r\nNovaLang follows a modular architecture:\r\n\r\n```\r\nNovaLang\r\n\u251c\u2500\u2500 Lexer (70+ database annotations)\r\n\u251c\u2500\u2500 Parser (Advanced AST generation)\r\n\u251c\u2500\u2500 Compiler (Multi-target code generation)\r\n\u251c\u2500\u2500 Runtime (Universal database connectivity)\r\n\u2514\u2500\u2500 CLI (Project lifecycle management)\r\n```\r\n\r\n## \ud83c\udf10 Multi-Target Compilation\r\n\r\nNovaLang compiles to multiple targets:\r\n\r\n### Java/JVM\r\n```bash\r\nnova compile --target java\r\n# Generates enterprise Java with Spring Boot integration\r\n```\r\n\r\n### TypeScript\r\n```bash\r\nnova compile --target typescript \r\n# Generates TypeScript with Node.js/Express integration\r\n```\r\n\r\n## \ud83d\udd27 Database Configuration\r\n\r\nNovaLang automatically configures database connections:\r\n\r\n```nova\r\n// application.nova\r\n@Configuration\r\nclass DatabaseConfig {\r\n @MySQL\r\n @DataSource\r\n private mysql: DataSource = {\r\n url: \"jdbc:mysql://localhost:3306/mydb\",\r\n username: \"${DB_USER}\",\r\n password: \"${DB_PASSWORD}\"\r\n }\r\n \r\n @MongoDB \r\n @MongoTemplate\r\n private mongo: MongoTemplate = {\r\n uri: \"mongodb://localhost:27017/mydb\"\r\n }\r\n \r\n @Redis\r\n @RedisTemplate\r\n private redis: RedisTemplate = {\r\n host: \"localhost\",\r\n port: 6379\r\n }\r\n}\r\n```\r\n\r\n## \ud83d\ude80 Deployment\r\n\r\n### Kubernetes\r\n```bash\r\nnova deploy --target kubernetes --namespace production\r\n```\r\n\r\n### Docker\r\n```bash\r\nnova build --containerize\r\ndocker run novalang/my-app\r\n```\r\n\r\n### Cloud Platforms\r\n```bash\r\nnova deploy --target aws-lambda\r\nnova deploy --target azure-functions\r\nnova deploy --target google-cloud-run\r\n```\r\n\r\n## \ud83d\udcc8 Performance\r\n\r\nNovaLang is optimized for performance:\r\n\r\n- **JIT Compilation**: Runtime optimization\r\n- **Connection Pooling**: Efficient database connections \r\n- **Caching**: Multi-level caching strategies\r\n- **Parallel Processing**: Concurrent database operations\r\n- **Memory Optimization**: Zero-copy operations where possible\r\n\r\n## \ud83e\uddea Testing\r\n\r\n```nova\r\n@Test\r\nclass UserServiceTest {\r\n @Mock\r\n private userRepository: UserRepository\r\n \r\n @InjectMocks \r\n private userService: UserService\r\n \r\n @Test\r\n public testCreateUser() {\r\n // Given\r\n let user = User(email: \"test@example.com\")\r\n \r\n // When\r\n let result = userService.createUser(user)\r\n \r\n // Then\r\n assert result.isSuccess()\r\n assert result.get().id != null\r\n }\r\n}\r\n```\r\n\r\n## \ud83d\udcda Documentation\r\n\r\n- **[Language Reference](docs/language-reference.md)**: Complete language syntax\r\n- **[Database Guide](docs/database-guide.md)**: Database integration examples \r\n- **[API Documentation](docs/api-reference.md)**: Complete API reference\r\n- **[Examples](examples/)**: Real-world examples and tutorials\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for details.\r\n\r\n## \ud83d\udcc4 License\r\n\r\nNovaLang is released under the [MIT License](LICENSE).\r\n\r\n## \ud83c\udfc6 Why NovaLang?\r\n\r\n| Feature | NovaLang | Java | Python | TypeScript |\r\n|---------|----------|------|--------|------------|\r\n| Database Types | 70+ | 20+ | 30+ | 25+ |\r\n| Multi-Target | \u2705 | \u274c | \u274c | \u274c |\r\n| Type Safety | \u2705 | \u2705 | \u274c | \u2705 |\r\n| Enterprise Ready | \u2705 | \u2705 | \u274c | \u274c |\r\n| AI/ML Integration | \u2705 | \u274c | \u2705 | \u274c |\r\n| Blockchain Support | \u2705 | \u274c | \u274c | \u274c |\r\n| Cloud Native | \u2705 | \u274c | \u274c | \u274c |\r\n\r\n## \ud83c\udf1f Star History\r\n\r\n[](https://star-history.com/#martinmaboya/novalang&Date)\r\n\r\n---\r\n\r\n**Made with \u2764\ufe0f by [Martin Maboya](https://github.com/martinmaboya)**\r\n\r\n**NovaLang - One Language, All Databases, Every Platform** \ud83d\ude80\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "NovaLang - Universal Programming Language with Fixed Template CLI Support",
"version": "2.2.4",
"project_urls": {
"Bug Reports": "https://github.com/martinmaboya/novalang/issues",
"Changelog": "https://github.com/martinmaboya/novalang/blob/master/CHANGELOG.md",
"Documentation": "https://novalang.readthedocs.io/",
"Homepage": "https://github.com/martinmaboya/novalang",
"Repository": "https://github.com/martinmaboya/novalang"
},
"split_keywords": [
"programming-language",
" database",
" sql",
" nosql",
" mysql",
" postgresql",
" mongodb",
" redis",
" elasticsearch",
" neo4j",
" cassandra",
" influxdb",
" oracle",
" sqlserver",
" artificial-intelligence",
" machine-learning",
" blockchain",
" cloud-native",
" microservices",
" enterprise",
" universal-database",
" orm",
" jpa",
" hibernate",
" vector-database",
" graph-database",
" time-series",
" search-engine",
" compiler",
" interpreter"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "65fe3dc7af571e7e8d283a9da0a4d1d8755d50834de87ca138a6f5a3c1ea86c9",
"md5": "822ff7870103230222320b1da1f2e2a4",
"sha256": "1a56d9e3bfb9009519c74ae877c8f290f5960554f39f388573d37a032cdb0603"
},
"downloads": -1,
"filename": "novalang-2.2.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "822ff7870103230222320b1da1f2e2a4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 155427,
"upload_time": "2025-09-15T21:17:31",
"upload_time_iso_8601": "2025-09-15T21:17:31.259868Z",
"url": "https://files.pythonhosted.org/packages/65/fe/3dc7af571e7e8d283a9da0a4d1d8755d50834de87ca138a6f5a3c1ea86c9/novalang-2.2.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "afe07d0ab1a68b6b6ce981a2b790cf6e6380ad61a442b8b366811d1fb6533a7b",
"md5": "a6a955f517107f47dc75176d8063e9ab",
"sha256": "25bc428c8b6df8c51443ab50376bb550614b7c3e6637d1f767a2069ec9401a60"
},
"downloads": -1,
"filename": "novalang-2.2.4.tar.gz",
"has_sig": false,
"md5_digest": "a6a955f517107f47dc75176d8063e9ab",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4857146,
"upload_time": "2025-09-15T21:17:34",
"upload_time_iso_8601": "2025-09-15T21:17:34.298469Z",
"url": "https://files.pythonhosted.org/packages/af/e0/7d0ab1a68b6b6ce981a2b790cf6e6380ad61a442b8b366811d1fb6533a7b/novalang-2.2.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-15 21:17:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "martinmaboya",
"github_project": "novalang",
"github_not_found": true,
"lcname": "novalang"
}