Cloint India Pvt. Ltd's (ClointFusion) Pythonic RPA (Automation) Platform

Overview

Welcome to , Made in India with ❤️


Description

Cloint India Pvt. Ltd - Python functions for Robotic Process Automation shortly RPA.

What is ClointFusion?

ClointFusion is an Indian firm based in Vadodara, Gujarat. ClointFusion is a Python-based RPA platform for developing Software BOTs. Using AI, we're working on Common Man's RPA.

Check out Project Status

PyPI PyPI - License PyPI - Status ClointFusion PyPI - Downloads Libraries.io SourceRank PyPI - Format GitHub contributors GitHub last commit

GitHub Repo stars Twitter URL YouTube Channel Subscribers Twitter Follow

Release Notes


Installation


ClointFusion is now supported on Windows / Ubuntu / macOS* !

Windows :

Windows users can download EXE pre-loaded with Python 3.9 and ClointFusion package: Windows EXE

OR

  • ClointFusion is compatible with both Windows 10 and Windows 11.

  • Installing on a Windows PC is a breeze.

  • Make certain that Python 3.8 or Python 3.9 is installed.

  • Then, from the command prompt, execute the following command.

    pip install -U ClointFusion
    

Ubuntu :

  • Clointfusion requires sudo rights to install on Ubuntu.

  • Additional Linux packages must be installed before Clointfusion can be installed.

  • Make certain that Python 3.8 or Python 3.9 is installed.

  • Then, from the command prompt, execute the following command.

    sudo apt-get install python3-tk python3-dev
    sudo pip3 install ClointFusion
    

Importing


ClointFusion can be accessed using one of two methods.

Windows :

  • Terminal : Opens a Python interpreter using the command " import ClointFusion as cf "

    cf_py
    
  • Code Editor or IDE : Import ClointFusion first, and then run the file in Python.

    # cf_bot.py
    
    import ClointFusion as cf
    
    cf.browser_activate()
    
    python cf_bot.py
    

Ubuntu :

  • Terminal : Opens a Python interpreter with the command " import ClointFusion as cf " and the required sudo privileges.

    sudo cf_py
    
  • Code Editor or IDE : Run the file with sudo permissions.

    # cf_bot.py
    
    import ClointFusion as cf
    
    cf.browser_activate()
    
    sudo python3 cf_bot.py
    

Features


ClointFusion's Voice-Guided, Fully Automated Self-Test.

When you import ClointFusion for the first time, or upgrade to a new version, you'll be prompted with the "ClointFusion Automated Self-Test," which highlights all of ClointFusion's 100+ features in action on your computer while also confirming ClointFusion's compatibility with your PC's settings and configurations. Once you have successfully completed the self-test, you will receive an email with a self-test report.

Below is the speed up version of self-test.

self-test.mp4


DOST : Your friend in automation || Build RPA Bots without Code.

DOST is an interactive Blockly based no-code BOT Builder platform built and optimized for ClointFusion-based BOT building. We feel that automation is important for people other than programmers. Using DOST, even a common man can create a BOT in minutes.

Advantages of DOST

  • Easy to Use.
  • Build BOT in minutes.
  • No prior Programming knowledge needed.

Launch DOST client

Windows

Open your favorite browser and go to Dost Website and start building bots.

Note : Make sure ClointFusion Tray is present or open terminal and type cf_tray to activate ClointFusion Tray menu.

Ubuntu

Open your favorite terminal and type sudo dost and then type python3 dost.py.

  • Want to change the chrome profile ?

    • Use python3 dost.py "Profile 1"

Build BOT with DOST: DOST Website



BOL : BOL - Your automation voice based assistant

BOL is voice based automation assistant designed to execute BOTs build out of ClointFusion without any human computer interaction.

Usage of BOL

Open your favorite terminal and type bol or sudo bol for ubuntu users. Within a moment, a personalized Virtual Assistant will be at your service.

Note: BOL is currently in development stage. More functionalities are yet to be added.



WORK - The Work Hour Monitor

WORK is an intelligent application that detects each and every work you do in your PC and displays a detailed work report.

Usage of WORK

Open your favorite terminal and type cf_work. A detailed work report will be displayed.

Note: All the information that is being collected by WORK is stored in a securely maintained database in your system.



WhatsApp Bot - Send bulk WhatsApp messages.

ClointFusion's "WhatsApp Bot" is an automated utility tool that allows you to send many customized messages to your contacts at once.

Usage of WhatsApp Bot

Open your favorite terminal and type cf_wm, and give path of the excel, or cf_wm -e excel_path.xlsx

CLI_CF_WM.mp4

ClointFusion in Action

Now access more than 100 functions (hit ctrl+space in your IDE)

TIP: You can find and inspect all of ClointFusion's functions using only one function i.e., find(). Just pass the partial name of the function.

cf.find("sort")

cf.find("gui")

  • 6 gui functions, to take any input from user:

Function Accepted Parameters Description
cf.gui_get_any_input_from_user() msgForUser="Please enter : ", password=False, multi_line=False, mandatory_field=True Generic function to accept any input (text / numeric) from user using GUI. Returns the value in string format.
cf.gui_get_any_file_from_user() msgForUser="the file : ", Extension_Without_Dot="*" Generic function to accept file path from user using GUI. Returns the filepath value in string format.Default allows all files.
cf.gui_get_consent_from_user() msgForUser="Continue ?" Generic function to get consent from user using GUI. Returns the string 'yes' or 'no'
cf.gui_get_dropdownlist_values_from_user() msgForUser=" ", dropdown_list=[], multi_select=True Generic function to accept one of the drop-down value from user using GUI. Returns all chosen values in list format.
cf.gui_get_excel_sheet_header_from_user() msgForUser=" " Generic function to accept excel path, sheet name and header from user using GUI. Returns all these values in dictionary format.
cf.gui_get_folder_path_from_user() msgForUser="the folder : " Generic function to accept folder path from user using GUI. Returns the folder path value in string format.


  • 4 functions on Mouse Operations:

Function Accepted Parameters Description
cf.mouse_click() x=" ", y=" ", left_or_right="left", no_of_clicks=1 Clicks at the given X Y Co-ordinates on the screen using ingle / double / triple click(s). Optionally copies selected data to clipboard (works for double / triple clicks)
cf.mouse_move() x=" ", y=" " Moves the cursor to the given X Y Co-ordinates
cf.mouse_drag_from_to() x1=" ", y1=" ", x2=" ",y2=" ", delay=0.5 Clicks and drags from X1 Y1 co-ordinates to X2 Y2 Co-ordinates on the screen
cf.mouse_search_snip_return_coordinates_x_y() img=" ", wait=180 Searches the given image on the screen and returns its center of X Y co-ordinates.


  • 6 functions on Window Operations (works only in Windows OS):

Function Accepted Parameters Description
cf.window_show_desktop() None Minimizes all the applications and shows Desktop.
cf.window_get_all_opened_titles_windows() window_title=" " Gives the title of all the existing (open) windows.
cf.window_activate_and_maximize_windows() windowName=" " Activates and maximizes the desired window.
cf.window_minimize_windows() windowName=" " Activates and minimizes the desired window.
cf.window_close_windows() windowName=" " Close the desired window.
cf.launch_any_exe_bat_application() pathOfExeFile=" " Launches any exe or batch file or excel file etc.


  • 5 functions on Window Objects (works only in Windows OS):

Function Accepted Parameters Description
cf.win_obj_open_app() title, program_path_with_name, file_path_with_name=" ", backend="uia" Open any windows application.
cf.win_obj_get_all_objects() main_dlg, save=False, file_name_with_path=" " Print or Save all the windows object elements of an application.
cf.win_obj_mouse_click() main_dlg,title=" ", auto_id=" ", control_type=" " Simulate high level mouse clicks on windows object elements.
cf.win_obj_key_press() main_dlg,write, title=" ", auto_id=" ", control_type=" " Simulate high level key-press on windows object elements.
cf.win_obj_get_text() main_dlg, title=" ", auto_id=" ", control_type=" ", value = False Read text from windows object element.


  • 8 functions on Folder Operations:

Function Accepted Parameters Description
cf.folder_read_text_file() txt_file_path=" " Reads from a given text file and returns entire contents as a single list
cf.folder_write_text_file() txt_file_path=" ", contents=" " Writes given contents to a text file
cf.folder_create() strFolderPath=" " When you are making leaf directory, if any intermediate-level directory is missing, folder_create() method creates them.
cf.folder_create_text_file() textFolderPath=" ", txtFileName=" " Creates text file in the given path.
cf.folder_get_all_filenames_as_list() strFolderPath=" ", extension='all' Get all the files of the given folder in a list.
cf.folder_delete_all_files() fullPathOfTheFolder=" ", file_extension_without_dot="all" Deletes all the files of the given folder
cf.file_rename() old_file_path='', new_file_name='', ext=False Renames the given file name to new file name with same extension.
cf.file_get_json_details() path_of_json_file='', section='' Returns all the details of the given section in a dictionary


  • 28 functions on Excel Operations:

Function Accepted Parameters Description
cf.excel_get_all_sheet_names() excelFilePath=" " Gives you all names of the sheets in the given excel sheet.
cf.excel_create_excel_file_in_given_folder() fullPathToTheFolder=" ", excelFileName=" ", sheet_name="Sheet1" Creates an excel file in the desired folder with desired filename
cf.excel_if_value_exists() excel_path=" ", sheet_name="Sheet1", header=0, usecols=" ", value=" " Check if a given value exists in given excel. Returns True / False
cf.excel_create_file() fullPathToTheFile=" ", fileName=" ", sheet_name="Sheet1" Create a Excel file in fullPathToTheFile with filename.
cf.excel_copy_paste_range_from_to_sheet() excel_path=" ", sheet_name="Sheet1",
startCol=0, startRow=0, endCol=0,
endRow=0, copiedData=" "
Pastes the copied data in specific range of the given excel sheet.
cf.excel_get_row_column_count() excel_path=" ", sheet_name="Sheet1", header=0 Gets the row and column count of the provided excel sheet.
cf.excel_copy_range_from_sheet() excel_path=" ", sheet_name="Sheet1", startCol=0, startRow=0, endCol=0, endRow=0 Copies the specific range from the provided excel sheet and returns copied data as a list
cf.excel_split_by_column() excel_path=" ", sheet_name="Sheet1",
header=0, columnName=" "
Splits the excel file by Column Name
cf.excel_split_the_file_on_row_count() excel_path=" ", sheet_name = "Sheet1", rowSplitLimit=" ", outputFolderPath=" ", outputTemplateFileName ="Split" Splits the excel file as per given row limit
cf.excel_merge_all_files() input_folder_path=" ", output_folder_path=" " Merges all the excel files in the given folder
cf.excel_drop_columns() excel_path=" ", sheet_name="Sheet1",
header=0, columnsToBeDropped = " "
Drops the desired column from the given excel file
cf.excel_sort_columns() excel_path=" ", sheet_name="Sheet1",
header=0, firstColumnToBeSorted=None, secondColumnToBeSorted=None, thirdColumnToBeSorted=None, firstColumnSortType=True, secondColumnSortType=True, thirdColumnSortType=True,
view_excel=False
A function which takes excel full path to excel and column names on which sort is to be performed
cf.excel_clear_sheet() excel_path=" ",sheet_name="Sheet1",
header=0
Clears the contents of given excel files keeping header row intact
cf.excel_set_single_cell() excel_path=" ", sheet_name="Sheet1",
header=0, columnName=" ", cellNumber=0, setText=" "
Writes the given text to the desired column/cell number for the given excel file
cf.excel_get_single_cell() excel_path=" ",sheet_name="Sheet1",
header=0, columnName=" ",cellNumber=0
Gets the text from the desired column/cell number of the given excel file
cf.excel_remove_duplicates() excel_path=" ",sheet_name="Sheet1",
header=0, columnName=" ", saveResultsInSameExcel=True, which_one_to_keep="first"
Drops the duplicates from the desired Column of the given excel file
cf.excel_vlook_up() filepath_1=" ", sheet_name_1 = "Sheet1",
header_1 = 0, filepath_2=" ", sheet_name_2 = "Sheet1",
header_2 = 0, Output_path=" ", OutputExcelFileName=" ", match_column_name=" ", how='left', view_excel=False
Performs excel_vlook_up on the given excel files for the desired columns. Possible values for how are "inner","left", "right", "outer"
cf.excel_describe_data() excel_path=" ",sheet_name="Sheet1", header=0, view_excel=False Describe statistical data for the given excel
cf.excel_change_corrupt_xls_to_xlsx() xls_file ='',xlsx_file = '', xls_sheet_name='' Repair corrupt excel file
cf.excel_get_all_header_columns() excel_path=" ",sheet_name="Sheet1",header=0 Gives you all column header names of the given excel sheet
cf.excel_convert_to_image() excel_file_path=" " Returns an Image (PNG) of given Excel
cf.excel_split_on_user_defined_conditions() excel_file_path, sheet_name="Sheet1", column_name='', condition_strings=None,output_dir='', view_excel=False Splits the excel based on user defined row/column conditions
cf.excel_apply_format_as_table() excel_file_path, table_style="TableStyleMedium21", sheet_name="Sheet1" Applies table format to the used range of the given excel
cf.excel_convert_xls_to_xlsx() xls_file_path='',xlsx_file_path='' Converts given XLS file to XLSX
cf.isNaN() value Returns TRUE if a given value is NaN False otherwise
cf.convert_csv_to_excel() csv_path=" ", sep=" " Function to convert CSV to Excel
cf.excel_sub_routines() None Excel VBA Macros called from ClointFusion
cf.excel_to_colored_html() formatted_excel_path=" " Converts given Excel to HTML preserving the Excel format and saves in same folder as .html


  • 3 functions on Keyboard Operations:

Function Accepted Parameters Description
cf.key_hit_enter() write_to_window=" " Enter key will be pressed once.
cf.key_press() key_1='', key_2='', key_3='', write_to_window=" " Emulates the given keystrokes.
cf.key_write_enter() text_to_write=" ", write_to_window=" ", delay_after_typing=1, key="e" Writes/Types the given text and press enter (by default) or tab key.


  • 5 functions on Screen-scraping Operations:

Function Accepted Parameters Description
cf.scrape_save_contents_to_notepad() folderPathToSaveTheNotepad=" ", switch_to_window=" ",X=0, Y=0 Copy pastes all the available text on the screen to notepad and saves it.
cf.scrape_get_contents_by_search_copy_paste() highlightText=" " Gets the focus on the screen by searching given text using crtl+f and performs copy/paste of all data. Useful in Citrix applications. This is useful in Citrix applications
cf.screen_clear_search() delay=0.2 Clears previously found text (crtl+f highlight)
cf.search_highlight_tab_enter_open() searchText=" ", hitEnterKey="Yes", shift_tab='No' Searches for a text on screen using crtl+f and hits enter. This function is useful in Citrix environment.
cf.find_text_on_screen() searchText=" ", delay=0.1, occurance=1, isSearchToBeCleared=False Clears previous search and finds the provided text on screen.


  • 11 functions on Browser Operations:

Function Accepted Parameters Description
cf.browser_activate() url=" ", files_download_path='', dummy_browser=True,
open_in_background=False, incognito=False,
clear_previous_instances=False, profile="Default"
Function to launch browser and start the session.
cf.browser_navigate_h() url=" " Navigates to Specified URL.
cf.browser_write_h() Value=" ", User_Visible_Text_Element=" " Write a string on the given element.
cf.browser_mouse_click_h() User_Visible_Text_Element=" ", element=" ",
double_click=False, right_click=False
Click on the given element.
cf.browser_locate_element_h() selector=" ", get_text=False,
multiple_elements=False
Find the element by Xpath, id or css selection.
cf.browser_wait_until_h() text=" ", element="t" Wait until a specific element is found.
cf.browser_refresh_page_h() None Refresh the page.
cf.browser_quit_h() None Close the Helium browser.
cf.browser_hit_enter_h() None Hits enter KEY using Browser Helium Functions
cf.browser_key_press_h() key_1=" ", key_2=" " Type text using Browser Helium Functions and press hot keys
cf.browser_mouse_hover_h() User_Visible_Text_Element=" " Performs a Mouse Hover over the Given User Visible Text Element


  • 4 functions on Alert Messages:

Function Accepted Parameters Description
cf.message_counter_down_timer() strMsg="Calling ClointFusion Function in (seconds)", start_value=5 Function to show count-down timer. Default is 5 seconds.
cf.message_pop_up() strMsg=" ", delay=3 Specified message will popup on the screen for a specified duration of time.
cf.message_flash() msg=" ", delay=3 Specified msg will popup for a specified duration of time with OK button.
cf.message_toast() message,website_url=" ", file_folder_path=" " Function for displaying Windows 10 Toast Notifications. Pass website URL OR file / folder path that needs to be opened when user clicks on the toast notification.

  • 3 functions on String Operations:

Function Accepted Parameters Description
cf.string_remove_special_characters() inputStr=" " Removes all the special character.
cf.string_extract_only_alphabets() inputString=" " Returns only alphabets from given input string
cf.string_extract_only_numbers() inputString=" " Returns only numbers from given input string


  • Loads of miscellaneous functions related to emoji, capture photo, flash (pop-up) messages etc:

Function Accepted Parameters Description
cf.clear_screen() None Clears Python Interpreter Terminal Window Screen
cf.print_with_magic_color() strMsg:str=" ", magic:bool=False Function to color and format terminal output
cf.schedule_create_task_windows() Weekly_Daily="D", week_day="Sun", start_time_hh_mm_24_hr_frmt="11:00" Schedules (weekly & daily options as of now) the current BOT (.bat) using Windows Task Scheduler. Please call create_batch_file() function before using this function to convert .pyw file to .bat
cf.schedule_delete_task_windows() None Deletes already scheduled task. Asks user to supply task_name used during scheduling the task. You can also perform this action from Windows Task Scheduler.
cf.show_emoji() strInput=" " Function which prints Emojis
cf.dismantle_code() strFunctionName=" " This functions dis-assembles given function and shows you column-by-column summary to explain the output of disassembled bytecode.
cf.ON_semi_automatic_mode() None This function sets semi_automatic_mode as True => ON
cf.OFF_semi_automatic_mode() None This function sets semi_automatic_mode as False => OFF
cf.email_send_via_desktop_outlook() toAddress=" ", ccAddress=" ", subject=" ",htmlBody=" ", embedImgPath=" ", attachmentFilePath=" " Send email using Outlook from Desktop email application
cf.download_this_file() url=" " Downloads a given url file to BOT output folder or Browser's Download folder
cf.pause_program() seconds="5" Stops the program for given seconds
cf.string_regex() inputStr=" ", strExpAfter=" ",
strExpBefore=" ", intIndex=0
Regex API service call, to search within a given string data
cf.ocr_now() img_path=" " Recognize and read the text embedded in images using Google's Tesseract-OCR
cf.update_log_excel_file() message=" " Given message will be updated in the excel log file of output folder
cf.create_batch_file() application_exe_pyw_file_path=" " Creates .bat file for the given application / exe or even .pyw BOT developed by you. This is required in Task Scheduler.

ClointFusion's Semi Automatic Mode

  1. If you pass all the required parameters, function works silently. So, this is expert (Non-GUI) mode. This mode gives you more control over the function's parameters.

  2. If you do not pass any parameter, GUI would pop-up asking you the required parameters. Next time, when you run the BOT, based upon your configuration, which you get to choose at the beginning of BOT run:

    • If Semi-Automatic mode is OFF, GUI would pop-up again, showing you the previous entries, allowing you to modify the parameters.
    • If Semi-Automatic mode in ON, BOT works silently taking your previous GUI entries.
    • Toggle Semi-Automatic mode by using the following command
    cf.ON_semi_automatic_mode   # To turn ON semi automatic mode
    cf.OFF_semi_automatic_mode  # To turn OFF semi automatic mode
    
  3. GUI Mode is for beginners. Anytime, if you are not getting how to use the function, just call an empty function (without parameters) and GUI would pop-up asking you for required parameters.


BOTS made out of ClointFusion

Outlook Email BOT implemented using ClointFusion


We love your contribution

Contribute to us by giving a star, writing articles on ClointFusion, giving comments, reporting bugs, bug fixes, feature enhancements, adding documentation, and many other ways.

Invitation to our Monthly Branded Hackathon

We also invite everyone to take part in our monthly branded event, the ClointFusion Hackathon, and stand a chance to work with us.

Checkout our Hackathon Website for more details here: ClointFusion Hackathon


Date ❤️ with ClointFusion

This an initiative for fast track entry into our growing workforce. For more details, please visit: Date with ClointFusion

Acknowledgements

We sincerely thanks to all it's dependent packages for the great contribution, which made ClointFusion possible!

Please find all the dependencies here

Credits

ReadMe File Maintainer

fharookshaik, Intern @ ClointFusion. Incase of any queries reach him on

LinkedIn   GitHub  

Need help in Building BOTS?

Write us by clicking below

Gmail  

Disclaimer: We collect anonymous data on installation and usage statistics in order to improve our product and provide better services.

Comments
  • Optimized the print_with_magic_color() function.

    Optimized the print_with_magic_color() function.

    The function was originally generating a random number from 0,255 and then was checking if that number is from the excluded numbers (for color ints) and till it finds the number from accepted number range , it kept looping in a while loop. This was replaced by using random.choice([accepted int list]) instead. Added annotations , doc string and removed the bool comparison (if bool_value==True:(bad practice) , if bool_value:(good practice). Removed unnecessary string formatting which makes the code un readable and %string formatting might be deprecated in the near future.

    opened by Ingenious-c0der 4
  • Fixed bug with excel_sort_columns function

    Fixed bug with excel_sort_columns function

    opened by fharookshaik 3
  • Add license scan report and status

    Add license scan report and status

    Your FOSSA integration was successful! Attached in this PR is a badge and license report to track scan status in your README.

    Below are docs for integrating FOSSA license checks into your CI:

    opened by fossabot 1
  • Update Keyboard, Mouse Functions & Organize Code

    Update Keyboard, Mouse Functions & Organize Code

    PyAutoGUI is used instead of keyboard lib. Updated the Mouse Functions and moved some Functions to Enterprise. Organised the code according to their Category. Like Keyboard, Mouse, Excel, Browser and so.

    image

    image

    opened by mmv-dev 1
  • update browser functions, add time_sleep function

    update browser functions, add time_sleep function

    Previously, we can't send keys like TAB, SHIFT, CTRL.. into browser directly using browser_key_press_h as we need to pass them helium object, so to make it consistent with pyautogui library, where we use string like enter, tab. So browser_key_press_h now accepts keys as strings and converts them into helium object inside function.

    Previously browser_write_h cant write without the User_Visible_Text_Element, which limits the functionality while doing works like filling a form or any continuous work, which can be completed using simple key presses. So modified the logic a little bit to accepts the function even if the value is given.

    (Function added) time_sleep is now added as function, previously we need to import time module separately while writing code, and we used this sleep function so many times. And i think this will be great addition.

    opened by mmv-dev 1
  • Small Changes in ClointFusion.py Some Bugs Fixed

    Small Changes in ClointFusion.py Some Bugs Fixed

    convert_csv_to_excel() Lines changed : df=pd.read_esv(csv_path,sep=sep,engine="openpyxl") to df=pd.read_esv(csv_path,sep=sep) and also import of Image grab in Mouse Release event

    opened by avinashtechlvr 1
  • New function browser_attach_h is contributed and Bug fixes with respect to pandas version

    New function browser_attach_h is contributed and Bug fixes with respect to pandas version

    New Function is added to the browser functions.

     browser_attach_h(path_of_file="",to_xpath="")
    

    Parameters :

    • path_of_file -> Path of attachment file
    • to_xpath -> full xpath of the attachment upload button / location.

    Bug fixes while importing ClointFusion : 'Sheet 1' already exists and if_sheet_exists is set to 'error'

    • It's due to the new parameter introduced in the latest pandas version (1.3.0) in Excelwriter function.
    • Error raised in append_df_to_excel internal clointfusion function.

    image

    NOTE: This is a temporary change only.

    For more info: https://pandas.pydata.org/docs/dev/reference/api/pandas.ExcelWriter.html#pandas.ExcelWriter


    Feel free to contact me if there's any confusion in using the function.

    Thanks & Regards, Shaik Fharook

    opened by fharookshaik 1
  • change pandasgui to tabloo

    change pandasgui to tabloo

    pandasgui requires wordcloud which requires additional software to be installed in latest python 3.9 version. Tabloo is alternative which uses flask as backend and opens gui in a default browser with localhost. we can filter, save plots, etc. pandasgui syntax and tabloo syntax is pretty much same. and we used only show in our code so this single change is enough. This is not a advanced tool like pandasgui but saves a lot of time and makes accessing clointfusion easier.

    Tabloo_Screenshot_Table Tabloo_Screenshot_plot

    opened by mmv-dev 1
  • Modify launch_browser_h()

    Modify launch_browser_h()

    Now function will be able to download compatible chromedriver if not present already. Now added a feature remote, which simulates remote control for heavy load jobs.

    opened by mmv-dev 1
  • New Functions in Browser & File Operations added.

    New Functions in Browser & File Operations added.

    Changes Made in Existing Functions.

    1. launch_website_h()

    • Added an optional parameter files_download_path , an option to set custom download path.

    2. browser_mouse_click_h()

    • Added multiple optional parameters namely below , to_right_of , to_left_of , above (order may vary in function) to identify the User_visible_element more accurately.

    3. browser_locate_element_h() & browser_locate_elements_h()

    • Change is made to get the text of the passed element more precisely.

    New Functions in Browser Operations

    1. browser_get_title_h()

    • A new function to get the title of opened browser window.

    2. browser_mouse_hover_h()

    • A new function to perform a mouse hover over the Given User Visible Text Element

    3. browser_get_dropdown_options_h()

    • A new function to get the available options in the given labelled dropdown.

    4. browser_select_dropdown_option_h()

    • A new function to set the Dropdown option either by label or by xpath with the given value.

    New Function in File Operations

    1. rename_file()

    • A new function to rename the given file name to new file name with extension of previous file.

    2. file_get_json_details()

    • A new function to get all the details of the given section in a dictionary of a JSON file.

    NOTE : GUI is also integrated to all the new functions for required parameters.

    Feel free to contact, If you've got any queries in understanding the logic of new functions or anything need.

    Thanks & Regards

    Shaik Fharook Research Intern at ClointFusion India

    opened by fharookshaik 1
  • Added New Excel Functions

    Added New Excel Functions

    excel_change_corrupt_xls_to_xlsx - Which helps to change corrupt xls to xlsx file excel_format_xls_to_xlsx - which helps to change normal xls to xlsx file excel_apply_template_format_save_to_new - This helps to drop all other columns and you can make excel with columns present in some template file or just by passing columns as list you can do it in either way

    excel_apply_format_as_table - This function helps to decorate normal excel by giving it as table format and even you change styles according to your liking

    excel_split_based_on_row_conditions_unique - Using this function we can split one excel to different excels based on one column
    here if you dont pass any condition it splits to unique values and create new excels.If we pass conition as a list it splits the whole excel according to the given condition in the columns

    opened by avinashtechlvr 1
Releases(v1.0.0)
An Instagram bot that can mass text users, receive and read a text, and store it somewhere with user details.

Instagram Bot 🤖 July 14, 2021 Overview 👍 A multifunctionality automated instagram bot that can mass text users, receive and read a message and store

Abhilash Datta 14 Dec 06, 2022
Automatic SQL injection and database takeover tool

sqlmap sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of

sqlmapproject 25.7k Jan 04, 2023
Python dilinin Selenium kütüphanesini kullanarak; Amazon, LinkedIn ve ÇiçekSepeti üzerinde test işlemleri yaptığımız bir case study reposudur.

Python dilinin Selenium kütüphanesini kullanarak; Amazon, LinkedIn ve ÇiçekSepeti üzerinde test işlemleri yaptığımız bir case study reposudur. LinkedI

Furkan Gulsen 8 Nov 01, 2022
Pynguin, The PYthoN General UnIt Test geNerator is a test-generation tool for Python

Pynguin, the PYthoN General UnIt test geNerator, is a tool that allows developers to generate unit tests automatically.

Chair of Software Engineering II, Uni Passau 997 Jan 06, 2023
자동 건강상태 자가진단 메크로 서버전용

Auto-Self-Diagnosis-for-server 자동 자가진단 메크로 서버전용 이 프로그램은 SaidBySolo님의 auto-self-diagnosis를 참고하여 제작하였습니다. 개인 사용 목적으로 제작하였기 때문에 추후 업데이트는 진행하지 않습니다. 의존성 G

JJooni 3 Dec 04, 2021
Multi-asset backtesting framework. An intuitive API lets analysts try out their strategies right away

Multi-asset backtesting framework. An intuitive API lets analysts try out their strategies right away. Fast execution of profit-take/loss-cut orders is built-in. Seamless with Pandas.

Epymetheus 39 Jan 06, 2023
A python bot using the Selenium library to auto-buy specified sneakers on the nike.com website.

Sneaker-Bot-UK A python bot using the Selenium library to auto-buy specified sneakers on the nike.com website. This bot is still in development and is

Daniel Hinds 4 Dec 14, 2022
Airspeed Velocity: A simple Python benchmarking tool with web-based reporting

airspeed velocity airspeed velocity (asv) is a tool for benchmarking Python packages over their lifetime. It is primarily designed to benchmark a sing

745 Dec 28, 2022
How to Create a YouTube Bot that Increases Views using Python Programming Language

YouTube-Bot-in-Python-Selenium How to Create a YouTube Bot that Increases Views using Python Programming Language. The app is for educational purpose

Edna 14 Jan 03, 2023
A test fixtures replacement for Python

factory_boy factory_boy is a fixtures replacement based on thoughtbot's factory_bot. As a fixtures replacement tool, it aims to replace static, hard t

FactoryBoy project 3k Jan 05, 2023
Data-Driven Tests for Python Unittest

DDT (Data-Driven Tests) allows you to multiply one test case by running it with different test data, and make it appear as multiple test cases. Instal

424 Nov 28, 2022
Connexion-faker - Auto-generate mocks from your Connexion API using OpenAPI

Connexion Faker Get Started Install With poetry: poetry add connexion-faker # a

Erle Carrara 6 Dec 19, 2022
The async ready version of the AniManga library created by centipede000.

Async-Animanga An Async/Aiohttp compatible library. Async-Animanga is an async ready web scraping library that returns Manga information from animepla

3 Sep 22, 2022
PoC getting concret intel with chardet and charset-normalizer

aiohttp with charset-normalizer Context aiohttp.TCPConnector(limit=16) alpine linux nginx 1.21 python 3.9 aiohttp dev-master chardet 4.0.0 (aiohttp-ch

TAHRI Ahmed R. 2 Nov 30, 2022
Sixpack is a language-agnostic a/b-testing framework

Sixpack Sixpack is a framework to enable A/B testing across multiple programming languages. It does this by exposing a simple API for client libraries

1.7k Dec 24, 2022
Simple frontend TypeScript testing utility

TSFTest Simple frontend TypeScript testing utility. Installation Install webpack in your project directory: npm install --save-dev webpack webpack-cli

2 Nov 09, 2021
It's a simple script to generate a mush on code forces, the script will accept the public problem urls only or polygon problems.

Codeforces-Sheet-Generator It's a simple script to generate a mushup on code forces, the script will accept the public problem urls only or polygon pr

Ahmed Hossam 10 Aug 02, 2022
Pytest modified env

Pytest plugin to fail a test if it leaves modified os.environ afterwards.

wemake.services 7 Sep 11, 2022
A suite of benchmarks for CPU and GPU performance of the most popular high-performance libraries for Python :rocket:

A suite of benchmarks for CPU and GPU performance of the most popular high-performance libraries for Python :rocket:

Dion Häfner 255 Jan 04, 2023
Sixpack is a language-agnostic a/b-testing framework

Sixpack Sixpack is a framework to enable A/B testing across multiple programming languages. It does this by exposing a simple API for client libraries

1.7k Dec 24, 2022