Saravanan666/pypi-org huggingface dataset:
Package: convnext-unet
ConvNeXt-UnetUnet model with ConvNext as its encoder.:construction: Work in progress...RoadmapSource CodeDocument...Installpython-mpipinstallconvnext-unetUsagefromconvnext_unetimportConvNeXtUnetmodel=ConvNeXtUnet(num_classes=1,encoder_name='convnext_tiny',activation='sigmoid',pretrained=False,in_22k=False)num_calsses: number of output classes.encoder_name: name of encoder inconvnext_tiny,convnext_small,convnext_base,convnext_large,convnext_xlarge.activation: activation function to call before output.pretrained: Whether to load ImageNet pretrained model for encoder.in_22k: Whether to load ImageNet-22k pretrained model for encoder.AcknowledgementThis repository is built on top ofPytorch-UNet,ConvNeXtandsegmentation_models.pytorch.CopyrightThis project is released under the GPL-3.0 license. Please see theLICENSEfile for more information.Copyright (c) 2022 Tianyi Wang.All rights reserved.This program incorporates a modified version of Other Program.Copyright (c) 2022 Meta Platforms, Inc. and affiliates.Copyright (c) 2022 milesial.Copyright (c) 2022 Pavel Iakubovskii.Reference@Article{liu2022convnet,
  author  = {Zhuang Liu and Hanzi Mao and Chao-Yuan Wu and Christoph Feichtenhofer and Trevor Darrell and Saining Xie},
  title   = {A ConvNet for the 2020s},
  journal = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year    = {2022},
}

@inproceedings{ronneberger2015u,
  title={U-net: Convolutional networks for biomedical image segmentation},
  author={Ronneberger, Olaf and Fischer, Philipp and Brox, Thomas},
  booktitle={International Conference on Medical image computing and computer-assisted intervention},
  pages={234--241},
  year={2015},
  organization={Springer}
}
Package: convoc
CSVと階層フォルダの相互変換このモジュールについてこのプロジェクトは、CSVファイルと階層フォルダを相互変換するpythonモジュール。具体的には、ルールに沿って作成されたディレクトリからcsvファイルへの書き起こし、そして、ある一定のルールベースに沿って作成されたcsvからディレクトリを作成する。csvからディレクトリへ変換csvファイルから階層をパースして、ディレクトリとプロパティファイルを作成するcsvindex, no, pos, param1, param2, param3,
1, 1.1, 1, p1_1, p1_2, p1_3
2, 2.2, 2, p2_1, p2_2, p2_3csvをディレクトリに変換.
|-- 1
|   |--1.1
|       |-- attribute.json(機械学習用パラメータ)
|-- 2
|   |--2.1
|       |-- attribute.json(機械学習用パラメータ)attribute.jsonの内容{"index":"1","no":"1.1","pos":"1","param1":"p1_1","param2":"p1_2","param3":"p1_3"}ディレクトリ階層をパースして、CSVファイルを作成上記変換ステップの逆順で実行する動作条件python >= 3.8インストール※ 本パッケージは、仮想環境を作成して実行することを推奨します。PyPIpipinstallconvocGitlab Package Registorypipinstallconvoc--index-urlhttps://__token__:<your_personal_token>@gitlab.com/api/v4/projects/37267127/packages/pypi/simpleGitLabは、プライベートリポジトリであるため、インストール時に、個人のアクセストークン(your_personal_token)を使用してインストールしてください。UsageCSVからディレクトリ階層へFormatdefcsv2dir(csvfile:str,level:int,root_dir:str,*,isheader:bool=False,attribute_type:str="json")->List[Dict[str,str]]:Inputcsvfile (str): CSVファイルlevel (int): 作成するディレクトリ階層の指定root_dir (str): ディレクトリを作成する親ディレクトリisheader (bool, optional): CSVのヘッダー情報有無attribute_type (str, optional): 属性ファイル(e.g. attribue.json)のファイルタイプ。json/toml/yaml/csv/textをサポート。Output読み込んだcsvファイルのコンテンツExsamplefromconvocimportcsv2dir# csv file to be readread_filepath='csv/sample.csv'# Convert directory from csvcsv_contents=csv2dir(csvfile=read_filepath,level=2,target_path="target",is_header=True)# loaded csv file (type: list)print(csv_contents)ディレクトリ階層からcsvへFormatdefdir2csv(root_dir:str,output:str,*,level:Optional[int]=None,attribute_type:str="json")->List[Any]:Inputroot_dir (str): 読み込み対象となるルートディレクトリoutput (str): 変換したcsvの格納先ディレクトリlevel (Optional[int], optional): csvに書き出す階層の指定attribute_type (str, optional): 読み取り対象の属性ファイルOutput変換後のディレクトリのリストExsample# exsample.pyfromconvocimportdir2csv# Convert directory structure to csvresult=dir2csv(root_dir='target',output='csv/recover.csv',level=2)# Output list of converted directories# At the same time, csv/recover.csv is generated.print(result)
Package: convocations
convocationsa set ofinvoke-inspired,raft-based convocations that we hope
can help make development and devops a little easier.  powered by angry penguins.pypiuseful utilities when working on projects intended to be published in a
python repository like pypipypi.templatecreates a template project that you can use to create packages / modules
that will be deployed to pypi or another python repository.pythonuseful utilities to make life easier for those getting started with using
a repository.python.setupcreates a standard virtual environment for running the projectpython.buildbuilds the project using setup.py or pyproject.tomlpython.cleancleans any buildspython.testruns test via pytest and prints out a coverage reportpython.bump_versionbumps the current version of the project via bumpversionpython.uploaduploads any distribution via twinepython.publisha handy combination of clean, test, build, version, uploadawsconfiguration keysnamedescriptionconvocations.prefixa handy prefix used in output and the directory in which cfn templates / parameters can be foundawsobjectaws.profilethe profile to use when creating boto3 sessionsaws.start_urlthe sso start urlaws.account_idthe target account id for ssoaws.sso_account_idan alias for account_idaws.sso_regionthe region in which sso is configuredaws.sso_start_urlan alias for start_urlaws.rolethe role which we will assume after sso is completed, if unspecified, we will take the first role alphabeticallyaws.sso_role_namean alias for roleaws.global_parameter_filesfiles that contain parameters that should be loaded by default when using cloudformation.  by convention the file at convocation.prefix/params/global.yml will also be loaded.palo_altotoddfortigatecheckpointxkcdContributingapt requirements for azureazure development will require certain os level packages to be
installed:aptinstall-ygnome-keyringlibgirepository1.0-devlibcairo2-dev
Package: convolut-telegram
Convolut-Telegrampipinstallconvolut-telegramWhat you getUsageBasic# ...fromconvolutimportRunnerfromconvolut_telegramimportTelegramLogger# ...(Runner(loaders=[train_loader,valid_loader],epochs=epochs)# ....add(TelegramLogger(token="YOUR_BOT_TOKEN_HERE",chat_id="YOUR_CHAT_ID_HERE")).start())Environment variablesTelegram logger uses these envs for initializationCONVOLUT_LOGGER_TELEGRAM_TOKEN=YOUR_BOT_TOKEN_HERE
CONVOLUT_LOGGER_TELEGRAM_CHAT_ID=YOUR_CHAT_ID_HERE
CONVOLUT_LOGGER_TELEGRAM_MODE=basic # default value
CONVOLUT_LOGGER_TELEGRAM_PROXY=https://api.telegram.org # default valueNow you can use it that way:# ...fromconvolutimportRunnerfromconvolut_telegramimportTelegramLogger# ...(Runner(loaders=[train_loader,valid_loader],epochs=epochs)# ....add(TelegramLogger()).start())
Package: convolut-tensorboard
Convolut-Tensorboardpipinstallconvolut-tensorboardWhat you getUsageBasic# ...fromconvolutimportRunnerfromconvolut_tensorboardimportTensorboardLogger# ...(Runner(loaders=[train_loader,valid_loader],epochs=epochs)# ....add(TensorboardLogger(folder="YOUR_FOLDER_FOR_TENSORBOARD_LOGS")).start())Environment variablesTelegram logger uses these envs for initializationCONVOLUT_LOGGER_TENSORBOARD_FOLDER=logs/tensorboard # default
CONVOLUT_LOGGER_TENSORBOARD_MODE=basic # defaultNow you can use it that way:# ...fromconvolutimportRunnerfromconvolut_tensorboardimportTensorboardLogger# ...(Runner(loaders=[train_loader,valid_loader],epochs=epochs)# ....add(TensorboardLogger()).start())Tensorboard Servertensorboard--logdir=YOUR_FOLDER_FOR_TENSORBOARD_LOGS
Package: convolvecl
convolveclconvolution of angular power spectraThis is a minimal Python package for convolution of angular power spectra, in
order to compute the angular power spectrum of a product of spherical functions.
Computation is currently limited to the mixing matrix.The package can be installed using pip:pip install convolveclThen import themixmatfunction from the package:from convolvecl import mixmatFor more information, please see thedocumentation.Current functionality covers the absolutely minimal use case.  Please open an
issue on GitHub if you would like to see anything added.
Package: conv-opt
conv_optconv_optis a high-level Python package for solving linear and
quadratic optimization problems using multiple open-source and
commercials solvers includingCbc,CVXOPT,FICO
XPRESS,GLPK,Gurobi,IBM
CPLEX,MINOS,Mosek,quadprog,SciPy, andSoPlex.InstallationInstall Python and pipOptionally, install the Cbc/CyLP, FICO XPRESS, IBM CPLEX, Gurobi,
MINOS, Mosek, and SoPlex solvers. Please see our detailedinstructions.Install this package.Install the latest release from PyPI:pip install conv_optInstall the latest revision from GitHub:pip install git+https://github.com/KarrLab/conv_opt.git#egg=conv_optSupport for the optional solvers can be installed using the
following options:pip install conv_opt[cbc,cplex,gurobi,minos,mosek,soplex,xpress]DocumentationPlease see theAPI documentation.LicenseThe build utilities are released under theMIT license.Development teamThis package was developed by theKarr Labat the Icahn School of Medicine at Mount Sinai in New York, USA.Questions and commentsPlease contact theKarr Labwith any
questions or comments.
Package: convopus
convopusconvopus is a Python CLI program for converting audio files toopusaudio format.FeaturesWindows / Linux / macOS / Android (via Termux) supportCustomizable bitrate and more (via config.json)Support of various audio formats / containersInstallationMust have installed ffmpeg and added to PATHpipinstall-UconvopusBuildgitclonehttps://github.com/D221/convopuscdconvopus
pipinstall.Usageconvopus-h# for info# The pogram detects directory or fileconvopus/path/to/directory
convopus/path/to/fileYou can customize settings inconfig.jsonlocated in:OSconfig.json locationWindows%LocalAppData%\D221\convopusLinux~/.config/convopusmacOS~/Library/Application Support/convopusLicenseMIT
Package: convoy
OverviewConvoy is a WSGI app for loading multiple CSS and JavaScript files in one
request. It’s built to be compatible with the YUI Loader.InstallationConvoy is a Python package that is installed from pypi via easy_install or
pip.$ pip install convoyUsageConvoy is a WSGI application. You should create a .wsgi file that you serve
out that sets up convoy for your use. You need to supply it the root path to
the JS and CSS files that it’s serving out to your users.An example .wsgi file is noted below.from convoy.combo import combo_app

def application(environ, start_response):
    root = '/path/to/file/root'
    app = combo_app(root)
    return app(environ, start_response)You can run this via WSGI servers such as gunicorn, Apapche mod_wsgi, etc.Breaking down the combo loader urlThere are two basic parts to finding files from your combo loader.Root adjustments - PATH_INFOThe initial part of the route, passed into Convoy in the WSGI environment
PATH_INFO variable, becomes part of the path from your root.If you have multiple versions of files in the root, you can select which by
adding the extra path info to your convoy url.For instance, if your url is:http://127.0.0.1:8000/ver1?y/yui-min&y/loader-minIt will append the ‘ver1’
to the root specified in your .wsgi file to find where theydirectory
should be on disk.Combined FilesThe query string is used only to find files based off the updated root path.
You might want to keep the YUI files in a directoryyand your own files
under a directoryapp. In this way, the files to combine would be in the
query string as:http://127.0.0.1:8000?y/yui-min&app/app-main.Linkshttp://yuilibrary.com/yui/docs/yui/yui-loader-ext.htmlhttps://github.com/rgrove/combohandler
Package: convoy-python
convoy-pythonConvoy SDK for PythonThis is the Convoy Python SDK. This SDK contains methods for easily interacting with Convoy's API. Below are examples to get you started. For additional examples, please see our official documentation at (https://convoy.readme.io/reference)InstallationInstall convoy-python withpipinstallconvoy-pythonSetup ClientNext, import theconvoymodule and setup with your auth credentials.fromconvoyimportConvoyconvoy=Convoy({"api_key":"your_api_key","project_id":"your_project_id"})The SDK also supports authenticating via Basic Auth by defining your username and password.In the event you're using a self-hosted convoy instance, you can define theurias part of what is passed into the convoy's constructor.convoy=Convoy({"api_key":'your_api_key',"uri":'self-hosted-instance',"project_id":"your_project_id"})UsageGet all groups(response,status)=convoy.group.all({"perPage":10,"page":1})Create an EndpointAn endpoint represents a target URL to receive events.endpointData={"url":"https://0d87-102-89-2-172.ngrok.io","description":"Default Endpoint","secret":"endpoint-secret","events":["*"],}(response,status)=convoy.endpoint.create({},endpointData)endpoint_id=response["data"]["uid"]Sending an EventTo send an event, you'll need theuidwe created in the earlier section.eventData={"endpoint_id":endpoint_id,"event_type":"payment.success","data":{"event":"payment.success","data":{"status":"Completed","description":"Transaction Successful","userID":"test_user_id808",},},}(response,status)=convoy.event.create({},eventData)Testingpytest./test/test.pyContributingPlease seeCONTRIBUTINGfor details.CreditsFrainLicenseThe MIT License (MIT). Please seeLicense Filefor more information.
Package: convpandas
convert-fileformat-with-pandasConvert file format withpandas.RequirementsPython 3.8.1+Install$ pip install convpandashttps://pypi.org/project/convpandas/Usagecsv2xlsxConvert csv file to xlsx file.$ convpandas csv2xlsx --help
usage: convpandas csv2xlsx [-h] [--sep SEP] [--encoding ENCODING] [--quotechar QUOTECHAR] [--numeric_to_string] [--sheet_name SHEET_NAME [SHEET_NAME ...]]
                           csv_files [csv_files ...] xlsx_file

positional arguments:
  csv_files

  xlsx_file

optional arguments:
  -h, --help            show this help message and exit

  --sep SEP             Delimiter to use when reading csv. (default: ,)

  --encoding ENCODING   Encoding to use when reading csv. List of Python standard encodings.
                        https://docs.python.org/3/library/codecs.html#standard-encodings (default: utf-8)

  --quotechar QUOTECHAR
                        The character used to denote the start and end of a quoted item when reading csv. (default: ")

  --numeric_to_string   If specified, write numeric value as string type. If not specified, write numeric value as numeric type. (default: False)

  --sheet_name SHEET_NAME [SHEET_NAME ...]Convertin.csvtoout.xlsx.$ convpandas csv2xlsx in.csv out.xlsxWhenCSV_FILEis-, STDIN is used for input.$ convpandas csv2xlsx - out.xlsx < in.csvConvertin1.csvandin2.csvtoout.xlsx. Sheet name is csv filename without its' suffix.$ convpandas csv2xlsx in1.csv in2.csv out.xlsxIf--sheet_nameis specified, sheet name is set.$ convpandas csv2xlsx in1.csv in2.csv out.xlsx --sheet_name foo barxlsx2csvConvert xlsx file to csv file.$ convpandas xlsx2csv --help
usage: convpandas xlsx2csv [-h] [--sheet_name SHEET_NAME] [--sep SEP] [--encoding ENCODING] [--quotechar QUOTECHAR] xlsx_file csv_file

positional arguments:
  xlsx_file

  csv_file

optional arguments:
  -h, --help            show this help message and exit

  --sheet_name SHEET_NAME
                        Sheet name when reading xlsx. If not specified, read 1st sheet. (default: None)

  --sep SEP             Field delimiter for the output file. (default: ,)

  --encoding ENCODING   A string representing the encoding to use in the output file. (default: utf-8)

  --quotechar QUOTECHAR
                        Character used to quote fields. (default: ")Convertin.xlsxtoout.csv.$ convpandas csv2xlsx in.xlsx out.csvWhenCSV_FILEis-, write to STDOUT.$ convpandas csv2xlsx in.xlsx -
name,age
Alice,23With specifying--sheet_name, you can select sheet name that you want to convert.$ convpandas csv2xlsx in.xlsx out.csv --sheet_name sheet2Usage for DeveloperRefer tohttps://github.com/kurusugawa-computer/convert-fileformat-with-pandas/blob/main/README_for_developer.md.
Package: convPCA
convPCAVarious approaches to performing a convolutional analogue of PCA. The basic idea is to adaptpower iteration(PI).
PI finds the eigenvectors of A by initializing a random h and then iteratively setting h = norm(Ah) where norm(g)=g/sum(g^2) to have unit length.In the PCA context, A is the empirical covariance, A=(X'X)/N.
So we can equivalently update h = X'(Xh) [with the divide by N coming out in the wash when we normalize h].
The idea in convolutional PCA is to replace matrix multiplication with convolution operations.
For 1D sequence dataX is [N x P x L]h is [H x P x K]whereN is the number of sample sequences,P is the number of observed channels,L is the sequence length,H is the number of hidden channels/factors (1 for standard PI), andK is the PC/PWM/factor size/filter width.The basic PI algorithm iteratesb = F.conv_transpose1d(x,h.transpose(0,1))gives a [N x H x L+K-1] tensor (think of this as hidden node activations in an AE).h = F.conv1d(b.transpose(0,1),x.transpose(0,1))gives an updated h with the correct dimensions (this is like correlating the activations and the observed data).There are two approaches to extending toH>1:Orthonormalizinghat every iteration using QR decomposition or SVD."Deflating" X, i.e. removing signal explained by the previous PCs.
For PCA these approaches are equivalent, not clear if this is true for convPCA (and it's certainly not for the sparse variant).Other implemented features:sparseversion, where all but the largest element in windows ofbare zeroed outshiftversion, where we attempt to center the PWM to avoid cutting off a position at the edgebatchversion alaAdaOjaA couple of other approaches to fitting are implemented:A novel convolutional version ofFastICAvery analogous to ConvPCA. This includes a L1-penalty/lasso inspired nonlinearity (soft thresholding).A (shallow, linear) convolutional autoencoder, fit using SGD/Adam.
Package: convpic2ico
Converts an image to .ico - Windowspip install convpic2icoTested against Windows 10 / Python 3.10 / Anacondafromconvpic2icoimportcreate_iconcoloredicon=create_icon(imagepath=r"C:\Users\hansc\Downloads\pinpng.com-anime-girl-face-png-6144106.png",magickpath=r"C:\Program Files\ImageMagick-7.1.1-Q16-HDRI\magick.exe",)colorediconOut[3]:'C:\\Users\\hansc\\Downloads\\tmptmpappicon_color.ico'
Package: convrewriting
This is an official source code repository of the paper: Mele et al., Adaptive Utterance Rewriting for Conversational Search, IP&M, 2021.Authors: Ida Mele, Cristina Ioana Muntean, Franco Maria Nardini, Raffaele Perego, Nicola Tonellotto, Ophir Frieder.Code:https://github.com/hpclab/adaptive-utterance-rewriting-conversational-searchDataDatasets: CAsT 2019 dataset divided into training and test sets as specified in the paper.Query resolutionThe query resolution module uses both supervised and unsupervised methods for rewriting queries.For the supervised classification based rewriting run either of the following rewriting strategies "Standard", "Enriched", "LastSE", "First_and_Last_SE", "First_or_Last_SE":fromconvrewriting.supervised.pipeline_classificationimportrewrite_strategyrewrite_strategy("Standard")For the unsupervised based rewriting strategy run either of the following:fromconvrewriting.unsupervised.pipeline_nlpimportrewrite_context,rewrite_first_topic,rewrite_topic_shiftrewrite_context()rewrite_first_topic()rewrite_topic_shift()Citation LicenceThis source code is subject to the following citation license:By downloading and using the source code stored in this GitHub repository, you agree to cite at the undernoted paper in any kind of material you produce where this code has been used to conduct search or experimentation, whether be it a research paper, dissertation, article, poster, presentation, or documentation. By using this software, you have agreed to the citation licence.Ida Mele, Cristina Ioana Muntean, Franco Maria Nardini, Raffaele Perego, Nicola Tonellotto, Ophir Frieder. 2021. Adaptive Utterance Rewriting in Conversational Search. Information Processing & Management.@article{mele2021adaptive,title={Adaptive Utterance Rewriting for Conversational Search},journal={Information Processing \& Management},volume={58},number={6},pages={102682},year={2021},issn={0306-4573},doi={https://doi.org/10.1016/j.ipm.2021.102682},url={https://www.sciencedirect.com/science/article/pii/S0306457321001679},author={Ida Mele and Cristina Ioana Muntean and Franco Maria Nardini and Raffaele Perego and Nicola Tonellotto and Ophir Frieder},}Contact UsFor any other question/comment, write us an email: {cristina.muntean@isti.cnr.it}
Package: conv-stft
Conv-STFT/iSTFT in PyTorchAuthor: Shimin ZhangThe code refers to the following repo:remove modulation effectsenframe and conv-overlap-addAn STFT/iSTFT written up in PyTorch(py3) using 1D Convolutions. There are two window logic,breakandcontinue.break- a kaldi-like framing methodWhen the parameterswin_lenandfft_lenare different, paddingfft_len-win_lenzero points after each frame( len(frame) =win_len), and the window ( len(window) =win_len) always wise-multiply with frame before padding.continue- a librosa-like framing method.When the parameterswin_lenandfft_lenare different, framing the signal usingwin_len=fft_len, and zero padding on both sides of window ( len(window) =win_len), which islen(center_pad(window))=fft_lenInstallationInstall easily with pip:pip install conv_stftor download this repo,python setup.py install.Usageimporttorchfromconv_stftimportSTFTimportnumpyasnpimportlibrosaimportmatplotlib.pyplotaspltaudio=librosa.load(librosa.util.example_audio_file(),duration=10.0,offset=30)[0]device='cpu'fft_len=1024win_hop=256win_len=1024window='hann'audio=torch.FloatTensor(audio)audio=audio.unsqueeze(0)audio=audio.to(device)stft=STFT(fft_len=fft_len,win_hop=win_hop,win_len=win_len,win_type=window,).to(device)magnitude,phase=stft.transform(audio,return_type='magphase')# 'magphase' or 'realimag'output=stft.inverse(magnitude,phase,input_type='magphase')# 'magphase' or 'realimag'output=output.cpu().data.numpy()[...,:]audio=audio.cpu().data.numpy()[...,:]print(np.mean((output-audio)**2))# on order of 1e-15Output ofcompare_stft.py:TestsTest it by just cloning this repo and runningpip install -r requirements.txt
python -m pytest .
Package: convstruct
<br>
<br>
<br>
<br><img align=”center” width=”350” height=”200” src=”https://i.ibb.co/4Zf5mvG/logo.png” alt=”convstruct-github-logo” border=”0”><br>
<br>
<br>
<br>—[<img align=”center” src=”https://i.ibb.co/zmFZZDW/hero-banner.png” alt=”convstruct-hero-banner” border=”0”>](###Convstruct-roadmap)—<br>###Convstruct 1.1 is here :zap: :zap:1.1 is an architecture update as well as the addition of reinforcement learning to the topology search. </br>
[View full release notes](https://convstruct.org)<br>—<img align=”right” width=”250” height=”250” src=”https://i.ibb.co/x8WJmPS/convstruct-icon.png”><br>Convstruct is an open source Python framework, containing four functions to create your own topology search for:â€¢ Computer vision models <br>
â€¢ NLP/NLU models <br>
â€¢ Reinforcement learning models<br>
<br>—<br>Convstruct,cs, seamlessly works alongside Tensorflow,tf, when your creating your AI models. Code your loss function and optimizer and let Convstruct do the rest.<img align=”center” src=”https://i.ibb.co/QjHf2vv/main-2.png” alt=”convstruct-functions-banner” border=”0”><br>—<br>###Getting started with the python package?â€¢ Install using pip:pip install convstruct<br>
â€¢ Import Convstruct inside your python file.###Getting started with the codebase?â€¢ Clone this repo to your local machine usinghttps://github.com/convstruct/convstruct<br>
â€¢ Runpip install requirements.textin the cloned repo to make sure all Convstruct dependencies are installed on your local machine. <br>
â€¢ Import Convstruct inside your python file.> Convstruct 1.1 supports only Python 3.6 and Tensorflow 1.14<br>—###Convstruct roadmap
The roadmap provides a high-level visual of what has been done and what is planned next for Convstruct.<img align=”center” src=”https://i.ibb.co/RCcntFy/main-3.png” alt=”convstruct-roadmap-banner” border=”0”><br>
<br>—<br>For inquiries into Convstruct contact: [hello@convstruct.org](hello@convstruct.org)<br>
<br>